Java 依赖于其他项目的Maven项目
在我阅读了一些关于maven pom.xml关系的stackoverflow问题和文档之后,我仍然感到困惑 我有一个拥有自己pom.xml的项目Java 依赖于其他项目的Maven项目,java,maven,pom.xml,Java,Maven,Pom.xml,在我阅读了一些关于maven pom.xml关系的stackoverflow问题和文档之后,我仍然感到困惑 我有一个拥有自己pom.xml的项目 -src/MyProject -src/MyProject/POM.XML 现在我需要包括另一个第三方项目 -src/MyProject -src/MyProject/POM.XML -src/OtherProject -src/OtherProject/POM.XML 我现在需要告诉Maven,当它构建MyProject POM.XML时,必须处
-src/MyProject
-src/MyProject/POM.XML
现在我需要包括另一个第三方项目
-src/MyProject
-src/MyProject/POM.XML
-src/OtherProject
-src/OtherProject/POM.XML
我现在需要告诉Maven,当它构建MyProject POM.XML时,必须处理并包含另一个POM.XML
原因:我不仅需要从OtherProject中构建的jar作为依赖项,更重要的是:我还需要从OtherProject中获取MyProject的所有依赖项(jar)(我不想手动输入每个jar作为MyProject的依赖项,这些依赖项已经在OtherProject POM.XML中正确定义)
有什么可能的解决方案可以做到这一点?您可以制作一个由多个项目(称为“模块”)组成的多模块maven应用程序。多模块应用程序嵌套了所有项目和所谓的masterpom.xml
,其中定义了应用程序模块。每个模块还必须保存自己的pom.xml
因此,您的目录结构如下所示:
/application
|---/project1
|---/project2
|---pom.xml
主pom.xml
将定义应用程序模块:
<project ...>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<modules>
<module>project1</module>
<module>project2</module>
</modules>
<dependencyManagement> ... </dependencyManagement>
...
</project>
4.0.0
聚甲醛
项目1
项目2
...
...
这样定义,
project1
将在project2
之前构建project2您是否只是在MyProject
POM中添加了依赖项?Maven POM不通过将它们“包含”在彼此内部来工作;相反,它们创建了一个层次结构。。另请参见有关如何在MyProject pom中指定模块的搜索。这将首先构建您的子项目,然后再构建您的“MyProject”。@ChrisK的链接解释了我想说的内容。请参见标记:):)@戈布林,不要放弃。这就是应该发生的事情。所以在我的例子中,我会创建一个项目,将我的两个项目都添加为模块?或者你的意思是我在主项目中添加依赖项目作为模块?(因为我会从project2依赖到project1,但afaik模块应该彼此独立)是的,我的意思是创建一个包含这两个项目的项目。