我正在与我的开发团队积极开发代码。当我们向客户发布时,我想提供没有-SNAPSHOT的罐子,因此他们只需要在创建新的点版本时进行更新。
这是一个提供此功能的maven插件。我知道有,因为其他人都必须这样做。我怀疑它是手动的。
我希望答案尽可能明确。
请,谢谢你。
答案 0 :(得分:8)
有些插件可以提供帮助,如this answer和the comments of this one中已提到的:Maven Release Plugin如果要完全自动化发布和/或Maven Versions Plugin。
使用Maven Release Plugin发布项目分两步完成:prepare
和perform
以下是文档中有关release:prepare
目标的内容:
准备发布版即可通过 发布阶段之后:
- 检查来源中没有未提交的更改
- 检查是否没有SNAPSHOT依赖项
- 将POM中的版本从x-SNAPSHOT更改为新版本(您 将提示输入版本 使用)强>
- 转换POM中的SCM信息以包含最终信息 标签的目的地
- 针对修改后的POM运行项目测试以确认一切 正常运作
- 提交修改后的POM
- 使用版本名称标记SCM中的代码(将会提示 对)
- 将POM中的版本转换为新值y-SNAPSHOT(这些值 也会被提示)
- 提交修改后的POM
换句话说,Maven Release Plugin正是您所要求的。
如果您不使用Maven Release Plugin,Maven Versions Plugin可能会有所帮助。特别是,以下目标:
versions:update-parent
更新了a的父节 项目,以便它引用 最新版本。例如, 如果你使用企业根POM,这个 如果你需要,目标可能会有所帮助 确保您使用的是最新的 企业根POM的版本。versions:update-child-modules
更新项目子模块的父节点,以便 版本匹配的版本 当前项目。例如,如果你 有一个聚合器pom也是 它的项目的父项 聚合以及孩子和父母 版本变得不同步,这个mojo 可以帮助修复孩子的版本 模块。 (注意,您可能需要调用 带有-N选项的Maven以便 如果您的项目是,请运行此目标 破碎得太厉害,无法建造 因为版本不匹配)。versions:set
可用于设置项目版本 命令行。versions:commit
删除了pom.xml.versionsBackup文件。形式 内置的“穷人”的一半 SCM”。versions:revert
从中恢复pom.xml文件 pom.xml.versionsBackup文件。形式 内置的“穷人”的一半 SCM”。
我提到了几个目标,但“最”有趣的可能是versions:update-child-modules
。它将允许更改顶级父pom中的版本,然后自动更新子项。有关示例,请参阅Fixing a multi-module build。
无法提供帮助,你现在需要自己试验一下。祝你好运!