我有3个maven项目,所有这些项目mvn compile
/ mvn install
都成功地来自各自的目录。
聚合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>com.me.myproject</groupId>
<artifactId>my_project</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>Module1</module>
<module>Module2</module>
<module>Module3</module>
</modules>
</project>
当我从父目录运行mvn compile
时,Module2
无法构建,说它无法找到Module1
个类。但是mvn compile
目录下的Module2
工作得很好!
为什么父项目不会编译?
更新这很奇怪:父级mvn install
成功,但mvn compile
不是!!
答案 0 :(得分:3)
您需要使用mvn install
。 mvn compile
不起作用是正常的。 Module2尝试从本地存储库加载所需的类。如果你没有install
,那么这些类不在你的本地存储库中,然后Module2找不到Module1类。