背景:
我使用的是maven 3.5,并且有一个“主”聚合器项目,它有4个模块(使用聚合和继承)。
我还有30个独立的子项目,包括单模块和多模块,每个子项目都是从这4个模块中的一个继承的。
问题:
我想在子项目的<parent><version>标记中使用<parent><version>,但我观察到的是maven试图在展开${revision}之前解析父项目(扩展到<properties><revision>中指定的值)。这会导致maven无法解析父项目,因为它正在查找父项目的字面"${revision}“版本。
问题
${revision}不适用于跨项目继承吗?注意:我可以在一个多模块项目中使用${revision},没有任何问题--这不是问题。
发布于 2021-09-14 13:58:00
我刚刚遇到了同样的问题,但它适用于maven 3.8.2。
发布于 2022-09-15 17:14:08
我遇到了这个问题,不得不在我的父母pom中使用一个扁平的插件。首先,在属性中添加修订。
<properties>
<revision>2.1.0-SNAPSHOT</revision>
<mssql-jdbc.version>9.4.1.jre11</mssql-jdbc.version>
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
<flatten-maven-plugin.version>1.1.0</flatten-maven-plugin.version>
</properties>然后将这个插件添加到构建部分。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>11</release>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>${flatten-maven-plugin.version}</version>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>resolveCiFriendliesOnly</flattenMode>
</configuration>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
</execution>
<execution>
<id>flatten.clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>https://stackoverflow.com/questions/60713134
复制相似问题