2

我已经为子 pom 包含了一个父 pom ..但是在构建子 pom 时 ..而不是构建 parent ..它尝试从存储库下载它并给出无法下载它的错误,因此失败。这是孩子的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> 那么应该先显式地构建父级吗?谢谢。

4

1 回答 1

4

您的项目结构如何?这只有在它是聚合器的一部分时才有效。仅仅指定 a<parent/>不会自动让 Maven 构建它,它只会告诉它使用哪个父级。另一方面,如果父模块和子模块都定义为<modules/>聚合器,则父模块将首先构建。

此外,如果您有一个聚合器,但您只是尝试从子模块中构建,则不会构建父模块。

于 2012-06-06T07:45:26.033 回答