我使用一个maven模块'foo-common'。我目前正在使用SNAPSHOT版本。我希望在这个模块发生任何变化时,它的版本会使用jenkins中的build-number进行增加,并将其部署到远程存储库。 但是,问题是,如果我的当前版本是1.0.40-SNAPSHOT,然后如果我想增加主要版本,那么版本将变为2.0.41-SNAPSHOT,这没有任何意义。 有人可以提出一个更好的方法吗?增量maven模块版本
1
A
回答
0
Maven使用两个概念:要么有快照要么发布。这些名称具有高度的误导性,我会相应地调用它们:temporary_candidate和permanent_version。
快照似乎是版本化的,但是如果您使用存储库(如Nexus等),您会注意到快照仅用于保留最近几次迭代,其中旧快照会快速删除。同样,在下载快照时,很明显,预期的用途是始终使用最新的。发布永久保存;预计这些发行版将按版本号下载。
版本号不适用于开发人员。它是开发人员和测试人员以及部署团队和最终用户之间的通信设备。
测试人员报告“复制此错误:(1)部署版本2.0.44-SNAPSHOT,(2)单击XYZ按钮”是没有意义的。该报告在“2.0.44-SNAPSHOT”部分被打破,因为它不是真实的版本号,测试者应该预计“2.0.44-SNAPSHOT”下面的代码已经改变,现在有完全不同的错误。而且每次重新部署时都会发生变化。
预期的用途是仅在存在正在进行的对话时才向测试者/用户显示SNAPSHOT。一旦情况消失,你就会释放。
詹金斯有一个非常有用的发布插件。它允许更改版本号并执行所有发布任务(包括但不限于maven release pluigin)。
0
maven的想法是你使用mvn release插件将版本从SNAPSHOT移动到发布版本。
所以,如果你没有(假设你有正确的POM):
mvn release:prepare release:perform
这将删除快照发布的版本中,在你的榜样,这将是1.0.40,那么它会标记这个版本在使用标签进行源代码管理时,它会将完成的工件推送到标签中定义的发布存储库,然后将版本移动到下一个SNAPSHOT,在您的情况下它将是1.0.41-SNAPSHOT。
如果你想做一个主要的版本发布版本,你应该在mvn版本上手动移动版本:set 1.1.0-SNAPSHOT。
相关问题
- 1. Maven Multi模块版本
- 2. 增加依赖模块版本是否应递增父模块版本?
- 3. Jenkins/Git增量Maven项目版本
- 4. Maven Pom.xml自动增量版本
- 5. Maven自动增量发布版本
- 6. Maven的模块版本 - 最佳实践
- 7. maven多模块依赖版本
- 8. 使用多模块pom的Maven版本
- 9. 每个模块的Maven java版本
- 10. 更新多模块Maven项目中模块的版本号
- 11. Maven:从子模块中检索主模块版本
- 12. 在maven测试版本中为多模块maven项目忽略模块
- 13. Maven不应该增加项目版本
- 14. Perl模块版本
- 15. RequireJS模块版本
- 16. DNN模块版本
- 17. API模块版本
- 18. 增量版本建立
- 19. CMake目标版本增量
- 20. maven模块构建。不指定具有儿童模块的版本
- 21. maven多模块项目,用不同的java版本编译模块之一
- 22. 什么是更新多模块Maven项目模块版本的最佳stategy
- 23. 如何使用版本Maven插件更新从属同级模块的版本
- 24. Maven的:自动递增的版本在Maven的
- 25. 更新多模块Maven项目的版本
- 26. 检查依赖性版本在多模块Maven项目
- 27. 声呐分析 - Maven多模块环境中的组件版本
- 28. maven版本依赖注入到子模块
- 29. 更新Maven多模块项目中的版本
- 30. 如何修复Maven多模块快照版本?
目前我正在使用Jenkins Artifactory插件来推送快照。如果我使用这个插件,那么我的应用程序如何从Artifactory下载最新版本?我的意思是,如果artifactory中有foo-common-1.0.10和1.0.11,那么在执行构建时,我的应用程序应该从artifactory下载最新的foo-common – humblebee
@ falcon01 [如何告诉maven使用最新版本以及为什么人们反对它)](http://stackoverflow.com/questions/30571/how-do-i-tell-maven-to-use-the-latest-version-of-a-dependency) – kubanczyk