依赖于其他项目的Maven项目

时间:2015-10-15 09:17:23

标签: 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时,必须处理和包含其他POM.XML。

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

有哪些可行的解决方案呢?

1 个答案:

答案 0 :(得分:1)

您可以创建一个由多个项目(称为“模块”)组成的多模块maven应用程序。多模块应用程序嵌套所有项目和所谓的主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>

如此定义,project1将在project2之前构建。