Maven 获取最新的快照或发布
Posted
技术标签:
【中文标题】Maven 获取最新的快照或发布【英文标题】:Maven get LATEST Snapshot or Release 【发布时间】:2019-05-15 15:48:59 【问题描述】:我想使用配置文件来解析我的项目的最新版本。 具有配置文件的当前项目没有改变......只有版本需要更新,我不想每隔几周触摸项目来调整我的插件版本。
<profile>
<id>productive</id>
<properties>
<myPluginsVersion>RELEASE</myPluginsVersion>
</properties>
</profile>
<profile>
<id>development</id>
<properties>
<myPluginsVersion>LATEST</myPluginsVersion>
</properties>
</profile>
在 maven 3.x 中不推荐使用 LATEST 或 RELEASE。还有其他方法吗?我已经使用了带有更新属性的版本插件。但是这个插件更新了我的所有属性,项目不再工作。我只想自动更新 myPluginsVersion 而不用配置文件触及项目。
【问题讨论】:
你试过versions:update-property
吗?它允许您设置特定属性和一系列版本,您可以在其中使用 [1.5,)
之类的内容来表示“版本 1.5 或更高版本”。
我尝试了多个版本。但如果我想要发布版本,它会下载快照版本。 versions:update-property 是获取最新版本或快照版本还是我必须设置我想要的版本?
mojohaus.org/versions-maven-plugin/… 表示标准行为是不加载快照,但是有一个参数allowSnapshots
我试过这个插件,效果很好……但它更新了需要保存的 pom.xml……这意味着我每次都必须更新 pom.xml。跨度>
Maven 遵循构建可重复性的理念,即版本控制中的相同修订应该始终以相同的方式构建。为此,在 pom 中明确给出所有版本号很重要,这样在一年的时间里,相同版本的构建将以相同的方式运行。
【参考方案1】:
RELEASE
和 LATEST
特性被删除是有充分理由的:Maven 的目标是可重现的构建,如果每次执行时附带的版本不一样,那么它的目的就落空了。为了使您的项目保持最新,您可以运行 mvn versions:use-latest-releases
,检查一切是否正常,然后提交更新的 POM。
【讨论】:
以上是关于Maven 获取最新的快照或发布的主要内容,如果未能解决你的问题,请参考以下文章
是否可以从 NSFetchedResultsController 获取最新快照
Maven - 当 pom 版本为快照时生成最新版本 jar