需要介绍材料来说服客户使用Maven [英] Need presentation materials for convincing a customer to use Maven

查看:81
本文介绍了需要介绍材料来说服客户使用Maven的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的客户需要对组织中用于其项目的生产中的所有所有第三方库(例如JAR文件)进行更有组织的清单.我参与了他们的许多基于Java的项目.他们的清单在过去一直没有得到持续维护,现在需要考虑所有当前正在使用的库(有很多!)并强制执行将新库引入构建环境的结构化过程.

My customer needs a more organized inventory of all 3rd-party libraries (such as JAR files) that are used in production for their projects. I am involved with a number of their Java-based projects. Their inventory has not been consistently maintained in the past and the time has come to account for all the libraries that are currently being used (there are quite a few!) and to enforce a structured process for introducing new libraries into the build environment.

我已经尝试过在他们的构建过程中使用Maven和Artifactory的想法,以利用这些工具管理二进制库和处理传递库依赖项的能力.客户之所以拒绝该建议,是因为他们认为这将为他们提供更多的工作来维护Artifactory服务器并了解Maven的基础知识.

I have tried pitching the idea of using Maven and Artifactory in their build process to leverage those tools' ability to manage a repository of binary libraries and handle transitive library dependencies. The customer is resistent to the suggestion because they think it will create more work for them to maintain an Artifactory server and learn the basics of Maven.

当前,他们的Java项目都是使用Ant脚本构建的.传递依存关系主要由反复试验来管理.手动维护当前正在使用的库清单,并将二进制文件存储在Subversion存储库中.客户认识到需要对此进行改进,但是当前的改进建议涉及更多的临时手动管理"方法.

Currently, their Java projects are all built using Ant scripts. Transitive dependencies are largely managed by trial-and-error. The inventory of libraries currently in use is maintained by hand and the binaries are stored in a Subversion repository. The customer recognizes that this needs to be improved, but the current suggestions for improvement involve more ad-hoc "manage it by hand" approaches.

我想说服客户,Maven和Artifactory的组合对于他们的Java库管理需求是可行的现成解决方案.谁能指导我介绍可以用来为客户介绍Maven和Artifactory的功能和优势的文献/材料?

任何其他对我有帮助的论点/建议/等也将不胜感激.

Any other arguments/suggestions/etc that would assist me in this would also be appreciated.

推荐答案

我想说服客户,Maven和Artifactory的组合对于他们的Java库管理需求是可行的现成解决方案.

I want to convince the customer that a combination of Maven and Artifactory is a viable off-the-shelf solution for their Java library management needs.

正如评论中指出的那样,您的客户不必完全采用Maven即可从依赖管理中受益,您可以改编现有的ant脚本以使用

As pointed out in a comment, your customer doesn't necessarily need to fully adopt Maven to benefit from dependency management, you could adapt the existing ant scripts to use the Maven Ant tasks or Ivy. This might be less scary and already remove some pain.

关于Maven管理依赖项的方式,我只想解释一下:

Regarding the way Maven manages dependencies, I would simply explain that:

  • 工件由坐标(groupId,artifactId,版本)标识.
  • 这允许使用标准化的目录结构(存储库)存储它们
  • 依赖性比JAR更重要:它是带有POM的JAR,可以实现传递依赖性解析.

这种依赖性管理解决方案的好处是:

And the benefits of such a dependency management solution are:

  • 没有依赖项的混乱,它们是唯一标识的(不再有那是什么版本?" syndrom)
  • VCS中没有更多的二进制数据(更快的签出,更少的空间)
  • 更轻松地在项目之间重用工件(不再有通过电子邮件发送的jar)
  • 具有传递依赖项解决方案的轻松管理

并且由于您不想依赖公共存储库,因为您需要存储自己的工件,所以需要企业存储库.我个人选择的是Nexus:

And because you don't want to rely on public repositories, because you need to store your own artifacts, you need an enterprise repository. My personal choice would be Nexus:

  • 因为它是基于文件的(不同于Artifactory,而且我不想将我的工件放入数据库中)
  • 因为安装/使用很简单
  • 因为易于管理

以下是有关Nexus的一些资源(对不起,我只是不使用Artifactory):

Here are some resources about Nexus (sorry, I just don't use Artifactory):

  • Should we use Nexus or Artifactory for a Maven Repo?
  • Ning’s Migration from Artifactory to Nexus Professional
  • From Apache Archiva to Sonatype Nexus

以防万一,这里有一些有关Maven的演示材料:

And just in case, here are some presentation material about Maven:

  • Several presentations by Arnaud Héritier.
  • Maven 2.x by Jason van Zyl.
  • Maven 2.0 - Improve your build patterns by Vincent Massol.
  • 3.5. Core Concepts in the Maven Definitive Guide

这篇关于需要介绍材料来说服客户使用Maven的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆