java - 将 JAR Maven 项目包含到 WAR Maven 项目中

标签 java eclipse maven include dependencies

我有两个 Maven 项目:打包为 JAR 的项目 1 和打包为 WAR 的项目 2。

<!-- 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 Build Path > Libraries,我可以看到 Project2 在我的“~/.m2”文件夹中寻找“project1-1.0.jar”。这正常吗?

有没有人也遇到过这个问题并最终找到了解决方案?即使在 SO 中寻找相关问题的答案时,我也无法让它工作。


  • eclipse 开普勒
  • maven 3.0.4
  • Eclipse WTP (Juno) 1.0.1 的 Maven 集成

最佳答案

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

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

对于您的项目 2,项目 1 被视为独立的第三方 jar 文件。 它需要在您的 .m2 存储库中,以便它解析它。

关于java - 将 JAR Maven 项目包含到 WAR Maven 项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21160187/

相关文章:

java - 无法升级 eclipse 或 Android ADK 并且找不到 java.exe...hunh?

Eclipse 在构建前自动保存?

java - 从异步调用返回一个值到 run 方法

java - 在 jar 文件中设置 java.library.path

具有分离的前端和后端的 Maven JavaEE 应用程序

java - 如何重构这段IO代码?

Java无限循环性能

包含整数的字符串的 Java 比较器

java - 强化规则不触发

java - Eclipse Tomcat - 上下文环境变量