Java 依赖于其他项目的Maven项目

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时,必须处

在我阅读了一些关于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时,必须处理并包含另一个POM.XML

原因:我不仅需要从OtherProject中构建的jar作为依赖项,更重要的是:我还需要从OtherProject中获取MyProject的所有依赖项(jar)(我不想手动输入每个jar作为MyProject的依赖项,这些依赖项已经在OtherProject POM.XML中正确定义)

有什么可能的解决方案可以做到这一点?

您可以制作一个由多个项目(称为“模块”)组成的多模块maven应用程序。多模块应用程序嵌套了所有项目和所谓的master
pom.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模块应该彼此独立)是的,我的意思是创建一个包含这两个项目的项目。