gpt4 book ai didi

maven-release-plugin - 行家发布 :prepare not deploying the projects with release version

转载 作者:行者123 更新时间:2023-12-04 08:21:37 24 4
gpt4 key购买 nike

我有一个包含多个项目的平面项目结构。
我将 Nexus 用于内部存储库,将 SVN 用于源代码管理。
我能够部署 SNAPSHOT我的项目的构建。

在我的父 pom 中,我添加了 maven 发布插件:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.1</version>
</plugin>

和分布信息:
<distributionManagement>
<repository>
<id>releases</id>
<url>http://localhost:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Internal Snapshots</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>

当我在做 mvn release:prepare ,带有发布版本的工件没有被部署到 repo。因此,如果我有一个项目 A 依赖于项目 B。项目 A 无法通过发布版本获得 B 的工件。

最佳答案

release:prepare 默认调用“clean”和“verify”目标,它们只是尝试编译和运行测试。因此,没有任何内容部署到您的远程存储库,也没有安装在您的本地存储库中。
要使用新发布版本处理多模块项目中的依赖关系,您需要在发布期间将内容安装在本地存储库中:prepare,因此使用prepareGoals 属性将默认目标更改为“clean”和“install”。

<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.1</version>
<configuration>
<preparationGoals>clean install</preparationGoals>
</configuration>
</plugin>

您可以添加在构建过程中需要的任何目标。

到远程存储库的实际部署将由 release:perform 目标完成。

洛朗

关于maven-release-plugin - 行家发布 :prepare not deploying the projects with release version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4991640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com