我有一个持续集成构建过程,其中每个更改都被编译并部署为Maven快照。当编译和测试人们满意的版本时,我希望能够将其部署到具有发布版本的本地Maven存储库。
执行此操作的“Maven方式”将是再次获取源,设置版本(版本:设置等),再次编译和测试它,然后部署生成的工件。由于这个过程需要一些时间,我宁愿不再重复所有步骤。有没有办法获取第一个编译步骤产生的工件,更新版本并按原样部署它们而不重新编译?
答案 0 :(得分:0)
你认为“Maven Way”不一定是真的。但是,如果您确实要将任意jar部署为不同组/名称/版本的maven工件,则可以使用maven deploy plugin:
mvn deploy:deploy-file -Durl=/path/to/remote/repository -Dfile=/path/to/myjar-1.22.jar -DgroupId=somegroup -DartifactId=yourjar -Dpackaging=jar -Dversion=1.23
上面的示例将myjar-1.22作为yourjar-1.23部署到远程存储库中。
但是你应该对此保持谨慎。通常,原始版本信息在项目本身内部使用(作为jar元数据等)
在我看来,最好的方法不是更改版本号,而是一直坚持到软件生命周期。利用源代码管理修订版/内部版本号,以便始终获得唯一的版本标签。例如,为您的工件myjar-1.0.3345.23.jar
命名,其中1.0是您的主要/次要版本,3345是您的源控件修订版号,23是构建号