我有这取决于项目A. B项目
在项目B的pom.xml文件,我已经声明的依赖性为:
<dependency>
<groupId></groupId>
<artifactId>A</artifact>
<version>1</version>
<scope>compile</scope>
</dependency>
但每次我在做一个项目的任何改变的时候,我已经运行Maven安装在Eclipse上,安装工程,我的用户的存储库。
我怎样才能确保为项目A建造和安装前,项目B内置就跑?
使用一个模块与包装= 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使用文件系统访问某相对POM位置及B,这只有在所有三个项目都是相同的根目录下工作(Eclipse工作区根,git的回购根目录等)