繁体   English   中英

将JAR Maven项目纳入WAR Maven项目

[英]Include JAR Maven project into WAR Maven project

我有两个Maven项目:打包到JAR的Project1和打包到WAR的Project2。

<!-- Project1's POM -->
<groupId>foobar</groupId>
<artifactId>project1</artifactId>
<version>1.0</version>
<packaging>jar</packaging>

<!-- Project2's POM -->
<groupId>foobar</groupId>
<artifactId>project2</artifactId>
<version>1.0</version>
<packaging>war</packaging>

我想将Project1包含在Project2中,因此在Project2的POM中,我添加了:

<dependency>
    <groupId>foobar</groupId>
    <artifactId>project1</artifactId>
    <version>1.0</version>
</dependency>

但是Project2无法解决这种依赖性。

在Project2的属性Java构建路径>库中,我可以看到Project2在我的“〜/ .m2”文件夹中寻找“ project1-1.0.jar”。 这正常吗?

有人也遇到过这个问题,终于找到了解决方案吗? 即使在SO中寻找相关问题的答案时,我也无法使其正常工作。


  • 日蚀开普勒
  • Maven的3.0.4
  • Eclipse WTP(Juno)1.0.1的Maven集成

除非您在project1上运行maven install。 它不会作为jar文件打包到.m2存储库中,因此不会在project2的pom文件中解析。

这类似于使用第三方jar文件。 但是.m2存储库中没有它。 即使在这种情况下,您也将面临相同的问题。

对于您的项目2,项目1被视为独立的第三方jar文件。 它必须位于您的.m2存储库中,以便对其进行解析。

为了确保Eclipse WTP了解您的项目相互依赖,您需要为两者定义一个多模块父项目。 否则,您每次更新它时都需要“ mvn install” project1,并且您会看到依赖项遍历〜/ .m2。

网上有很多有关多模块项目的资源-您需要做出的最大选择是要使用平面布局(所有项目目录,包括父模块项目的目录,在同一基础目录中)还是分层布局(父模块项目目录包含子模块项目目录)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM