如何在依赖项目上强制maven安装?

时间:2014-04-30 19:09:37

标签: java eclipse maven dependencies

我有项目B,它取决于项目A.

在项目B的pom.xml文件中,我将A依赖声明为:

<dependency>
   <groupId></groupId>
   <artifactId>A</artifact>
   <version>1</version>
   <scope>compile</scope>
</dependency>

但每次我对项目A进行任何更改时,我都必须在eclipse上运行maven install,将项目安装到我的用户存储库。

如何在构建和运行项目B之前确保构建和安装项目A?

1 个答案:

答案 0 :(得分:0)

使用packaging = pom的模块来控制整个构建。在另一个Eclipse项目中,将其称为顶级项目,请使用此pom:

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId></groupId>
    <artifactId>top-level</artifactId>
    <version>1</version>
    <packaging>pom</packaging>

    <modules>
        <module>../A</module>
        <module>../B</module>
    </modules>
</project>

然后在这个pom上执行你的maven操作(清理,安装等)。 Maven将找出处理模块的正确顺序。

一句警告:Maven使用文件系统访问A和B的相对pom位置。这仅在所有三个项目位于相同根目录(Eclipse工作区根目录,git repo根目录等)下时才有效。 。)