在 Eclipse 之外运行具有 Eclipse 依赖项的 Maven 项目

发布于 2024-12-01 07:41:41 字数 1150 浏览 2 评论 0原文

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

换句话说,更详细地说:有parent、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>

在 sub2 中。

当我运行:

mvn -pl sub2 jetty:run

时,我得到:

[INFO] Failed to resolve artifact.

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

How can I get maven to find the submodule dependency?

I'm developing a maven project with several modules in eclipse. The parent pom.xml declares all submodules, and every submodule contains a pom.xml with a reference to the parent. Some submodules are dependent on other submodules, so I have added them as a dependency (m2e finds them when searching for dependencies). However, when I try to run a submodule outside eclipse using jetty (mvn -pl submodule jetty:run), I get the error that it is missing the other submodules.

In other words, and more elaborate: there's parent, sub1 and sub2. sub2 depends on sub1. I added

<modules>
  <module>sub1</module>
  <module>sub2</module>
</modules>

in the parent and

<parent>
  <groupId>group</groupId>
  <artifactId>parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</parent>

In both sub1 and sub2, and

<dependency> 
  <groupId>group.parent</groupId>
  <artifactId>sub1</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</depdency>

in sub2.

When I run:

mvn -pl sub2 jetty:run

I get:

[INFO] Failed to resolve artifact.

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

How can I get maven to find the submodule dependencies?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

℉服软 2024-12-08 07:41:41

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

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

Have you tried running mvn install in your parent project before running Jetty in the submodule? This will install your jars in your local Maven repository, following which Maven will be able to find them.

(Or I could be grossly misreading the complexity of your question, in which case: please correct me.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文