这是我的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>
为了使一切正常,我首先使用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
时出现问题。消息是:
找不到工件net.gencat.transversal.repositori.digital:rep-digital:pom:0.0.1-SNAPSHOT
看来mvn
无法捡起父母绒球...
我执行的命令是:mvn clean package
./rep-digital-api
有什么想法吗?
听起来您的.m2
存储库中(或远程(中没有rep-digital
工件。这对我来说意味着你没有cd rep-digital; mvn install
.您可以通过查看内部.m2
并检查您是否确实在本地安装了 rep-digital 工件来确认这一点。
安装父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
元数据文件
安装父项目也会安装所有子项目。