Maven 3 - 打包子模块中的变量

时间:2015-12-02 16:21:15

标签: maven-3

亲爱的stackoverflow社区

我遇到了maven 3项目的问题。基本上我有一个父Pom X,一个孩子Pom Y和Y Pom中的模块Z. POM Y和模块Z打包编译并存储在我的本地maven存储库中。 Z指向具有在父Pom X中定义的变量的父版本。因此,使用在Parent Pom X中定义的正确版本号编译并安装正常

现在我的问题:如果我在POM B(也是父Pom X的子节点)中使用Z作为依赖关系,并且在Parent Pom X中定义了版本变量,它会失败,因为模块Z在maven期间不解析版本变量建立。

错误: 无法读取Z的工件描述符:jar:someProjectVersion:找不到Y:pom:$ {someProjectVersionVariable}

更新:这是(简化的)poms:
父Pom:

<groupId>someProject</groupId>
<artifactId>someProject-parent</artifactId>
<version>5.3.3-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<child.version>5.3.3-SNAPSHOT</child.version>
</properties>

Child Y POM

<parent>
    <groupId>someProject</groupId>
    <artifactId>someProject-parent</artifactId>
    <version>5.3.3-SNAPSHOT</version>
    <relativePath>../someProject-parent/pom.xml</relativePath>
</parent>
<modules>
    <module>moduleZ</module>
</module> 
</modules>
<artifactId>someProject-Child</artifactId>
<name>someProject Child Name</name>
<version>${child.version}</version>
<packaging>pom</packaging>

模块Z POM:

<parent>
    <groupId>someProject</groupId>
    <artifactId>someProject-child</artifactId>
    <version>${child.version}</version>
    <relativePath>../pom.xml</relativePath>
</parent>
<artifactId>someProjectModule</artifactId>
<packaging>jar</packaging>
<name>Module Z</name>

Child Bs POM:

<parent>
    <groupId>someProject</groupId>
    <artifactId>someProject-parent</artifactId>
    <version>5.3.3-SNAPSHOT</version>
    <relativePath>../someProject-parent/pom.xml</relativePath>
</parent>

<artifactId>someProject-Child-B</artifactId>
<name>someProject Child Name B</name>
<version>${child.version}</version>
<packaging>jar</packaging>
<dependency>
    <groupId>someProject</groupId>
    <artifactId>someProjectModule</artifactId>
    <version>${child.version}</version>
    <type>jar</type>
</dependency>

现在构建Child Y没问题,没有错误 建立儿童B导致:

Failed to read artifact descriptor for someProjectModule:jar:5.3.3-SNAPSHOT: Failure to find someProject-Child:pom:${child.version}

0 个答案:

没有答案