我在我的主模块中配置了"finalName“和build-helper-maven-plugin:
<build>
<finalName>${project.artifactId}_${build.time}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>timestamp-property</id>
<goals>
<goal>timestamp-property</goal>
</goals>
<configuration>
<name>build.time</name>
<pattern>yyyy-MM-dd.HHmm</pattern>
<locale>fr_FR</locale>
<timeZone>Europe/Paris</timeZone>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>当我在聚合器上使用"mvn package“时,它工作得很好,但如果我使用"mvn deploy",它就会被忽略:工件使用类似于version_artifactId_maven-timestamp (使用UTC的maven-timestamp)的模式。此外,上传的工件中使用的“版本”是"1.0.0-SNAPSHOT“,而我拥有的唯一版本是"1.0.0-CD”。
我该如何解决这个问题呢?
附言:所有这些测试都是本地的,还没有使用一些CI服务器。
附言:我不得不说,只有上传到Artifactory的工件有错误的名称,我的目标目录中的工件是正常的。
发布于 2018-08-02 23:33:44
到目前为止还没有答案,所以我是如何解决这个问题的。
我使用Maven提供的可能性(在mavenv3.2.1中没有任何警告)在外部设置pom的版本:Allow continuous delivery friendly versions。
所以我用<version>${revision}</version>替换了aggregator,parent,module (包括依赖项)中的所有<version>1.0.0-SNAPSHOT</version>。
为了在我的发布版本中设置我的时区时间戳,我使用了Jenkins的“构建时间戳插件”。
因此jenkins中的maven deploy命令行变成了"Build > Goals and options“:deploy scm:tag -Drevision=1.0.0_$BUILD_TIMESTAMP
没有冒犯@khmarbaise的意思,最大的功劳是:Maven Release Plugin: Dead and Buried
https://stackoverflow.com/questions/51617023
复制相似问题