在eclipse之外运行带有eclipse依赖项的maven项目

时间:2011-08-26 09:18:21

标签: java maven jetty m2eclipse maven-jetty-plugin

我正在eclipse中开发一个包含几个模块的maven项目。父pom.xml声明所有子模块,每个子模块都包含一个pom.xml,其中包含对父项的引用。一些子模块依赖于其他子模块,因此我将它们作为依赖项添加(m2e在搜索依赖项时找到它们)。但是,当我尝试使用jetty(mvn -pl submodule jetty:run)在eclipse之外运行子模块时,我得到的错误是它缺少其他子模块。

换句话说,更详细:有父,子1和子2。 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>

在sub2。

当我跑步时:

mvn -pl sub2 jetty:run

我明白了:

[INFO] Failed to resolve artifact.

Missing:
----------
1) group.parent:sub1:jar:0.0.1-SNAPSHOT

如何让maven找到子模块依赖项?

1 个答案:

答案 0 :(得分:2)

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

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