Maven 2 在maven项目中使用配置单元

Maven 2 在maven项目中使用配置单元,maven-2,maven,hive,Maven 2,Maven,Hive,我有一个从ant迁移到maven的项目。该项目使用了一个轻度定制的配置单元构建。我想我应该将这个构建导入我们的内部maven repo,并在项目的pom文件中将其作为依赖项列出。我遇到的问题是,配置单元构建只是在build/dist/lib中生成了一堆jar。其中一些是核心蜂箱罐本身,一些是蜂箱依赖的罐。处理这些问题的最好方法是什么?我是否应该将所有的核心配置单元jar放入我们的内部repo中,并在新项目的pom文件中处理未记录的依赖关系?或者只是把所有东西都打包成一罐罐,然后部署到回购协议中?

我有一个从ant迁移到maven的项目。该项目使用了一个轻度定制的配置单元构建。我想我应该将这个构建导入我们的内部maven repo,并在项目的pom文件中将其作为依赖项列出。我遇到的问题是,配置单元构建只是在build/dist/lib中生成了一堆jar。其中一些是核心蜂箱罐本身,一些是蜂箱依赖的罐。处理这些问题的最好方法是什么?我是否应该将所有的核心配置单元jar放入我们的内部repo中,并在新项目的pom文件中处理未记录的依赖关系?或者只是把所有东西都打包成一罐罐,然后部署到回购协议中?这种方法会奏效吗?还是个新手,谢谢你的帮助。

你应该为修改后的蜂巢构建创建一个POM,并将其与jar一起部署到你的内部工件repo中。此POM应指定任何依赖项(即其他JAR)。如果其中一些也是自定义版本,那么也应该为它们创建POM,否则只需使用标准的公共groupId/artifactId。这是马文的方式。请注意,仅在部署期间,不一定需要使用POM来构建配置单元

为什么要这样做:

  • 如果您没有正确指定依赖项,那么当有人忘记在项目中包含完整的依赖项集,或者为其中一个指定了错误的版本时,您可能会遇到问题
  • 如果您创建了一个jar罐,那么当有人试图同时使用自定义配置单元“uber-jar”以及其中一个依赖项的不同版本时,您可能会遇到问题。您将在类路径中得到重叠类的多个版本
对Maven来说,最好的事情总是你告诉它正在发生的一切。不要试图告诉它你认为它想听的