[英]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中寻找相关问题的答案时,我也无法使其正常工作。
除非您在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.