问题描述: maven把jar上传到nexus私服,我们因为是父子项目所以使用 reversion标签统一控制版本,但是上传到私服发现jar的版本是pom:${reversion},而不是pom:版本号.
问题解决:
使用 flatten-maven-plugin插件解决这个问题
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.1.0</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>
</build>
他会在你的pom对应生成一个.flattened-pom.xml 文件就也是相当于重新编译好的pom文件,把这个给install或者deploy上去,具体原理参照官方说明