maven:部署工件文件名
嗨:我发现,默认情况下部署maven更改文件名称以匹配版本+神器id。 例如
部署一个jar文件,其中artifact = A和version = V-0.1将生成一个名为AV-0.1.jar的jar文件。
有没有办法在部署中更改jar文件的默认名称,以便它不会连接这些区域或明确指定最终部署的jar名称?
复杂的答案是:是的
这有点棘手,你需要小心,因为POM不会被重写。 所以只有maven远程仓库(artifactory或nexus)才会把它放到正确的文件夹结构中。
如果您在maven deploy目标中覆盖部署文件目标,则可以覆盖这些参数:http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html
一个总是将4.5.1版本发布到nexus的例子看起来像这样:
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>deploy-file</goal>
</goals>
<phase>deploy</phase>
<configuration>
<repositoryId>nexus-site</repositoryId>
<url>http://nexus.some.where/nexus-2/content/repositories/releases</url>
<file>${build.directory}/${project.build.finalName}.${project.packaging}</file>
<generatePom>false</generatePom>
<pomFile>pom.xml</pomFile>
<version>4.5.1</version>
</configuration>
</execution>
</executions>
</plugin>
(并且在有人问道之前,做这种事情的一个理由是让构建更加CI友好。在CI中,一切都只是构建编号,并不是真正的“构建版本”,每一次检查都会产生一个生产就绪的工件。所以用${BUILD_NUMBER}
替换4.5.1会在你的工件存储中留下很多很多的版本......)
简单的答案是:没有。
它背后的问题是,如果您要更改命名模式,则无法在存储库中找到工件。 这就是具有固定命名模式的原因。
mvn deploy:deploy-file -DartifactId = AAA -Dversion = VVV -Dpackaging = jar
上面的命令将把文件放在下面的结构中。
AAA
-VVV
--AAA_VVV.jar
如果您只是想在创建文件的名称与连续推送artifactory之间有所不同,可以使用-Dpackaging参数。 即。 将该值设置为当前时间戳
mvn deploy:deploy-file -DartifactId = AAA -Dversion = VVV -Dpackaging = 2017_01_31_01_37.jar
AAA
-VVV
--AAA_VVV.jar
--AAA_VVV2017_01_31_01_37.jar
链接地址: http://www.djcxy.com/p/14041.html