Chr*_*ian 50 versioning maven-2 release snapshot maven-release-plugin
我想使用maven发布插件发布一个快照项目'foo-1.0-SNAPSHOT'.该项目取决于尚未发布的第三方模块"bar-1.0-SNAPSHOT".我在项目的pom.xml中使用选项'allowTimestampedSnapshots'来允许带时间戳的快照,但我认为第三方模块(bar)没有时间戳,除非我自己构建它,因为maven仍抱怨未解决的SNAPSHOT依赖项.
有没有办法释放项目foo,无论依赖SNAPSHOT项目如何,如果不是,我怎么能为第三方项目添加时间戳?
Ste*_*vić 151
问题在于allowTimestampedSnapshots参数名称,它在文档中,但插件的源代码在表达式中使用了不同的参数名称ignoreSnapshots.
所以只需使用-DignoreSnapshots=true和发布插件的准备目标将忽略快照依赖项.
小智 19
使用maven-release-plugin选项
-DignoreSnapshots=true
Run Code Online (Sandbox Code Playgroud)
代替
-DallowTimestampedSnapshots=true
Run Code Online (Sandbox Code Playgroud)
在我的情况下,这将允许使用快照版本的依赖项来准备和执行发布.
应该非常小心地处理此选项,因为如果快照依赖项已更新,则在发行版中使用快照版本可能会在以后中断发布,这在正常情况下不是您想要的.
简短的回答是看到以下答案 ....长的答案是你可以解决它.
我过去应对的唯一方法是有效地分叉第三方库并自行删除一个版本.这当然说起来容易做起来难以理解,如果第三方库是闭源的,那么如果图书馆庞大而复杂则不可能.一条更简单的路线可能是接近第三方并要求他们削减发布.
另一种选择可能是复制他们的pom(确保它没有快照)更改版本信息并在您的存储库中手动安装pom和工件.
| 归档时间: |
|
| 查看次数: |
23934 次 |
| 最近记录: |