java - Maven:多模块项目依赖关系未解决(父pom)

标签 java maven

这是我的 Maven 项目结构:

.
├── pom.xml
├── rep-digital-api
│   ├── pom.xml
│   └── src
└── rep-digital-common
    ├── pom.xml
    └── src

./pom.xml模块声明是:

<groupId>net.gencat.transversal.repositori.digital</groupId>
<artifactId>rep-digital</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

<modules>
    <module>rep-digital-common</module>
    <module>rep-digital-api</module>
</modules>

然后,rep-digital-commonrep-digital 作为父级,./rep-digital-common/pom.xml:

<artifactId>rep-digital-common</artifactId>
...
<parent>
    <groupId>net.gencat.transversal.repositori.digital</groupId>
    <artifactId>rep-digital</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

因此,rep-digital-apirep-digital-common 作为依赖项,将 rep-digital 作为父项:

<artifactId>rep-digital-api</artifactId>

<parent>
    <groupId>net.gencat.transversal.repositori.digital</groupId>
    <artifactId>rep-digital</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
...     
<dependency>
    <groupId>net.gencat.transversal.repositori.digital</groupId>
    <artifactId>rep-digital-common</artifactId>
</dependency>

为了使一切正常工作,我首先使用 mvn clean package install 安装 rep-digital-common,它似乎已正确安装在我的本地存储库上:

$ ls ~/.m2/repository/net/gencat/transversal/repositori/digital/rep-digital-common/
0.0.1-SNAPSHOT/  maven-metadata-local.xml

但是,当我尝试构建 rep-digital-api 时,问题出现了。消息是:

Could not find artifact net.gencat.transversal.repositori.digital:rep-digital:pom:0.0.1-SNAPSHOT

似乎mvn无法获取父pom...

我执行的命令是:./rep-digital-api中的mvn clean package

有什么想法吗?

最佳答案

听起来好像没有 rep-digital您的.m2中的人工制品存储库(或远程)。这对我来说意味着你没有 cd rep-digital; mvn install 。您可以通过查看内部来确认这一点 .m2并检查您是否确实在本地安装了rep-digital artefact。

安装父级rep-digital将创建:

  • 一件文物 .m2/repository/net.gencat.transversal.repositori.digital/rep-digital/1.0-SNAPSHOT/rep-digital-1.0-SNAPSHOT.pom
    • 这只是 rep-digital 的副本的pom.xml
  • 一些maven-metadata-local.xml描述每个 Artifact 上次更新时间的元数据文件

安装父 Artifact 也会安装所有子 Artifact 。

关于java - Maven:多模块项目依赖关系未解决(父pom),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51836395/

相关文章:

java - Maven 和安装命令行程序

linux - 将 pom 版本输出设置为变量并递增该值

java - 更改违规严重性后刷新违规钻取

java - 使用 Maven 继承和构建

Java - 计算大字符串中的音节

java - Spring Boot 2.1 中的 DataSource bean 覆盖

java - Google Appengine 上的 Google Guice : mapping with working _ah

java - FluentWait selenium 使用 ThreadLocal<RemoteWebDriver>

java - 如何在PreparedStatement中使用自动生成的@Id?

java - 如何配置 Maven 来编译当前的 AWS SWF 代码