maven mvn版本:use-releases只在.m2中找到release,但在repository中找不到

kkbh8khc  于 2023-08-03  发布在  Maven
关注(0)|答案(2)|浏览(95)

我需要将我的模块的父模块和从属模块的快照版本替换为发布版本的过程。
首先,我运行“mvn versions:set -DreremoveSnapshot =true versions:commit”删除模块的快照版本。很好用。
接下来,我运行“mvn versions:use-releases -DprocessParent=true versions:commit”。它什么都不做。从mvn的输出

[INFO] artifact com.xxxxx:parent: checking for updates from maven-group
[INFO] artifact com.xxxxx:parent: checking for updates from central

字符串
它似乎检查了我的仓库,“maven-group”,但它找不到它?我在“maven-group”中有父版本,0.0.3。我的pom中的快照版本是0.0.3-SNAPSHOT。
但是,如果我在本地机器上构建父模块的发布版本(父模块的0.0.3将在.m2中),这个命令可以从0.0.3-SNAPSHOT更新父模块。依赖模块也是如此。所以在我看来,versions:use-release只能在.m2中找到发布版本信息。
这是我在波姆的回购。我用的是Nexus Repo。maven-group是release和snapshot repo的条目。

<repository>
    <id>maven-group</id>
    <url>http://192.168.xxx.xxx:8081/repository/maven-group/</url>
</repository>


有人有什么想法吗?我试着补充

<id>maven-group</id>
<url>http://192.168.xxx.xx:8081/repository/maven-group/</url>     
<snapshots>
   <enabled>true</enabled>
</snapshots>
<releases>
   <enabled>true</enabled>"
</releases>"


对于maven-group或直接使用pom文件中的maven-releases或maven-snapshot repo。但都不管用。
有什么想法或建议吗?在此先谢谢您!

4bbkushb

4bbkushb1#

使用-U标志;这将强制它检查远程存储库上的更新。
例如,在一个示例中,

mvn -U versions:use-releases -DprocessParent=true versions:commit

字符串

e0bqpujr

e0bqpujr2#

这是一个有点奇怪的语法明智,但我找到了一个有效的命令。此命令将更新父pom版本,只有当它是一个SNAPSHOT并且确切的发布版本可用时。这禁止递增版本本身,因为我在发布脚本中使用了这个,我希望开发人员更改版本,但我不希望开发人员在父版本发布后不得不删除-SNAPSHOT。这只是一个忙碌的工作,我经常是那些开发者之一。:)

mvn -DallowMajorUpdates=false -DallowMinorUpdates=false \
   -DallowIncrementalUpdates=false versions:update-parent

字符串
详细信息请参见maven versions:update-parent文档

相关问题