1

我正在开发一个在 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 找到子模块依赖项?

4

1 回答 1

2

mvn install在子模块中运行 Jetty 之前,您是否尝试过在父项目中运行?这会将你的 jars 安装在你的本地 Maven 存储库中,然后 Maven 将能够找到它们。

(或者我可能严重误读了您问题的复杂性,在这种情况下:请纠正我。)

于 2011-08-26T09:24:17.677 回答