我有项目 B,它依赖于项目 A。
在项目 B 的 pom.xml 文件中,我已将 A 依赖项声明为:
<dependency>
<groupId></groupId>
<artifactId>A</artifact>
<version>1</version>
<scope>compile</scope>
</dependency>
但是每次我对项目 A 进行任何更改时,我都必须在 eclipse 上运行 maven install,以将该项目安装到我的用户的存储库中。
如何确保项目 A 在项目 B 构建和运行之前构建并安装?
最佳答案
使用带有 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.xml 上执行您的 Maven 操作(清理、安装等)。 Maven 将找出处理模块的正确顺序。
警告:Maven 使用文件系统来访问 A 和 B 的相对 pom 位置。只有当所有三个项目都位于同一根目录下(Eclipse 工作区根目录、git repo 根目录等)时,这才有效。 .)
关于java - 如何在依赖项目上强制安装maven?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23396169/