【发布时间】:2016-10-06 19:19:59
【问题描述】:
我有多个 maven 项目,要添加它们之间的依赖关系,我只需将其添加到 POM 中,例如:
<dependency>
<groupId>com.company</groupId>
<artifactId>XMLManagement</artifactId>
<version>1.0</version>
</dependency>
我正在使用 eclipse,在我尝试发布 jar 之前,一切都运行良好。
**问题1:** Maven 抛出错误,因为它在本地仓库中找不到它所依赖的其他 maven 项目的 jar, 这意味着我必须自己弄清楚项目之间的依赖关系,并以正确的顺序访问每个项目并运行“mvn clean install”
这似乎不合逻辑,因为这是maven的主要目的,必须有一种方法告诉maven自己做。
**问题2:**如果项目A依赖于B,而B又依赖于C,并且我想在A中使用C,那么在Eclipse中它就足够了,我在A的POM中添加了B并且它可以工作,但是当我运行时“mvn clean install” maven 抛出一个错误,它缺少 C 的依赖项。 这意味着我必须添加 A 和 C 之间的依赖关系,这没有意义,因为在 eclipse 中我已经在“Maven Dependencies”下看到它,所以如果 eclipse 识别它为什么 mvn clean install 没有?
请注意,我最终能够生产出我需要的罐子,但必须经过如上所述的大量努力。
我知道我可以使用诸如 nexus 或 artifactory 之类的东西,但这对我来说太过分了,我希望能够在本地存储库中使用它。
我正在寻找正确的方法,有什么建议吗?
【问题讨论】:
-
您是否有一个内部存储库来存放所有人工制品?
-
我的本地存储库位于 C:\Users\giladba\.m2\repository
-
人工制品和 pom 都位于这个本地存储库中?
-
您需要的是您自己的 Maven 存储库,例如 Nexus,这必须在您的 pom.xml 中进行配置。你所有的项目都必须在那里放置人工制品
-
那你必须做一个多模块构建
标签: java eclipse maven maven-assembly-plugin