这是我的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-common
以rep-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-api
具有rep-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>
为了使一切正常,我首先使用rep-digital-common
安装mvn clean package install
,它似乎已正确安装在本地存储库中:
$ ls ~/.m2/repository/net/gencat/transversal/repositori/digital/rep-digital-common/
0.0.1-SNAPSHOT/ maven-metadata-local.xml
但是,当我尝试构建rep-digital-api
时会出现问题。消息是:
找不到人工制品net.gencat.transversal.repositori.digital:rep-digital:pom:0.0.1-SNAPSHOT
似乎mvn
无法拾取父pom ...
我执行的命令是:mvn clean package
中的./rep-digital-api
有什么想法吗?
答案 0 :(得分:0)
听起来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
的{{1}}的副本pom.xml
元数据文件,它们描述了每个人工制品的最新更新时间安装父级人工制品也会同时安装所有子级人工制品。