我已经为孩子pom包含了一个父pom ..但是在构建子pom时...而不是构建父...它试图从存储库下载它并提供无法下载它的错误因此失败。 这是孩子pom:
<parent>
<groupId>com.mygroup1</groupId>
<artifactId>base</artifactId>
<relativePath>../Base/pom.xml</relativePath>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mygroup2.client</groupId>
<artifactId>client</artifactId>
<packaging>jar</packaging>
<version>some-version</version>
并且基础pom为:
<groupId>com.mygroup1</groupId>
<artifactId>base</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
首先在父级之前构建子级。而不是构建父级,它会出现此错误:Could not find artifact com.mygroup1:base:pom:1.0 in <artifactory name>
那么父母应该先明确建立吗?
感谢。
答案 0 :(得分:4)
您的项目究竟是如何构建的?只有当它是聚合器的一部分时,这才有效。仅仅指定<parent/>
不会自动使Maven构建它,它只会告诉它使用哪个父级。另一方面,如果父模块和子模块都在聚合器中定义为<modules/>
,则父项将首先构建。
此外,如果您有一个聚合器,但您只是尝试在子模块中构建,则不会构建父级。