我正在开发一个在 Eclipse 中包含多个模块的 Maven 项目。父pom.xml
模块声明所有子模块,每个子模块都包含一个pom.xml
对父模块的引用。一些子模块依赖于其他子模块,因此我将它们添加为依赖项(m2e 在搜索依赖项时会找到它们)。但是,当我尝试使用 jetty ( mvn -pl submodule jetty:run
) 在 eclipse 之外运行子模块时,我得到了它缺少其他子模块的错误。
换句话说,更详细:有父、sub1 和 sub2。sub2 依赖于 sub1。我添加了
<modules>
<module>sub1</module>
<module>sub2</module>
</modules>
在父母和
<parent>
<groupId>group</groupId>
<artifactId>parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
在 sub1 和 sub2 中,并且
<dependency>
<groupId>group.parent</groupId>
<artifactId>sub1</artifactId>
<version>0.0.1-SNAPSHOT</version>
</depdency>
在子 2。
当我运行时:
mvn -pl sub2 jetty:run
我得到:
[INFO] Failed to resolve artifact.
Missing:
----------
1) group.parent:sub1:jar:0.0.1-SNAPSHOT
如何让 maven 找到子模块依赖项?