【问题标题】:Maven build dependency issueMaven构建依赖问题
【发布时间】:2020-09-04 05:58:27
【问题描述】:

将子项目(模型)的 .jar 导入我的其他项目时遇到问题

  • 父pom
    • child1 罐子
    • Child2 罐子
    • Child3 战争

Child1、2 和 3 各自依赖于父母。

在构建父级时,它会构建子级 1,2 jar 和子级 3 战争。

Child 1 是一个模型 jar,将在其他模块中使用。

将 jar 添加到其他模块时,它会寻找父模块。

如何解决才能将 child1 用作其他模块的模型 jar?

这是我的 POM 父级

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.7</version>
    <relativePath/>
</parent>

<groupId>com.myproject</groupId>
<artifactId>myproject-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name> MyProject POM</name>
<modules>
    <module>/myprojectModel</module>
    <module>/myproject</module>
    <module>/myprojectService</module>
</modules>

这是我的孩子 1 pom

<parent>
    <groupId>com.myproject</groupId>
    <artifactId>myproject-parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <relativePath/>
</parent>
<groupId>com.emc.nrp</groupId>
<artifactId>nemsprerequisite-model</artifactId>
<packaging>jar</packaging>
<version>1.0.0-SNAPSHOT</version>
<name> Myproject Model</name>

所以它会构建 3 个包

- Child1.jar

- Child2.jar

- Child3.war

当我将 Child1.jar 导入另一个包时,它似乎有

不可解析的父 POM

这就是问题所在。

ERROR [io.undertow.request] (default task-91) UT005023: Exception handling request to /business-central/maven2: java.lang.RuntimeException: org.apache.maven.project.ProjectBuildingException: 1 problem was encountered while building the effective model for com.myproject.myproject-model:1.0.0-SNAPSHOT

[致命] com.myproject.myproject-model:1.0.0-SNAPSHOT 的不可解析父 POM:找不到工件 com.myproject.myproject-parent:pom:1.0.0-SNAPSHOT @ 第 5 行,列10

【问题讨论】:

  • 尝试更改父 pom 中的&lt;module&gt; 顺序。 Maven 将自上而下构建。顺便说一句,你得到什么错误?
  • “模型罐”是什么意思?父母有什么问题?
  • @FaltFe Maven 通常不会自顶向下构建,它会解析模块之间的依赖关系以找到正确的顺序。
  • 在加载时提到了不可解析的父 POM
  • 首先从您的模块列表中删除前导斜杠...其次,您似乎在模块之间有错误的依赖关系...最好是在 github 或类似的地方设置一个示例项目... .

标签: java maven


【解决方案1】:
  1. 右键点击所有模块的src/java目录,点击“Mark Directory as”,然后点击“Sources Root”,如下图所示:
  2. 选酸

2.我认为您应该在更多模块上创建加载所有子依赖项并且该模块中只有 Application.java 的模块。

关注this link了解更多详情。

【讨论】:

  • 嗨,谢谢你,这是我遵循的,但它仍然导致错误
【解决方案2】:

你的子 pom 中的 relativePath 元素是空的。设置它。

【讨论】:

  • 什么意思?
  • 你的意思是 pom 中的孩子 1 应该有 ..
  • 是的,完全正确。 :-)
猜你喜欢
  • 2012-03-16
  • 1970-01-01
  • 2020-10-21
  • 1970-01-01
  • 2012-03-06
  • 2021-12-06
  • 2011-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多