4

我从孙子 pom访问parent.parent.version时遇到问题。

这是问题的确切描述:

父pom:

<groupId>com.parent</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>1.6-SNAPSHOT</version>
.
.
.
<properties>
    <child.version>1.3-SNAPSHOT</child.version>
</properties>

儿童绒球:

<parent>
    <groupId>com.parent</groupId>
    <artifactId>parent</artifactId>
    <version>1.6-SNAPSHOT</version>
</parent>

<groupId>com.child</groupId>
<artifactId>child</artifactId>
<packaging>pom</packaging>
<version>${child.version}</version>

孙子 pom:

<parent>
    <groupId>com.child</groupId>
    <artifactId>child</artifactId>
    <version>${child.version}</version>
</parent>

<groupId>com.grandchild</groupId>
<artifactId>grandchild</artifactId>
<packaging>pom</packaging>
<version>${project.parent.version}</version>
.
.
.
<profiles>
<plugin>
   <groupId>com.spotify</groupId>
   <artifactId>docker-maven-plugin</artifactId>
   <version>1.0.0</version>
   <configuration>
      <imageName>artifactory:6001/${project.name}:${parent.parent.version}</imageName>
      <serverId>docker</serverId>
      <dockerDirectory>${project.basedir}</dockerDirectory>
      <resources>
         <resource>
            <targetPath>/</targetPath>
            <directory>${project.build.directory}</directory>
            <include>${project.build.finalName}.jar</include>
         </resource>
      </resources>
   </configuration>
   <executions>
      <execution>
         <phase>package</phase>
         <goals>
            <goal>build</goal>
         </goals>
      </execution>
   </executions>
</plugin>
</profile>

每当我构建这个项目时,我都会遇到以下异常:

未能在项目孙子项目上执行目标 com.spotify:docker-maven-plugin:1.0.0:build (默认):捕获异常:模板变量 'parent.parent.version' 没有值 -> [帮助 1]

如何从孙子 pom.xml 获取 parent.parent.version(主项目版本)。
Docker 版本应与主项目版本相同。这就是我的目标!!!

4

0 回答 0