将 maven-release-plugin 与 git-1.8.5 一起使用

     2023-03-05     94

关键词:

【中文标题】将 maven-release-plugin 与 git-1.8.5 一起使用【英文标题】:Using maven-release-plugin with git-1.8.5 【发布时间】:2014-01-03 20:37:57 【问题描述】:

使用 git-1.8.5 时,使用 maven-release-plugin(使用 2.4.2 和 2.3.2 版本测试)和 mvn(使用 3.1.1 和 3.0.5 版本测试),运行 mvn release:prepare 和 @ 987654324@ 失败。

mvn release:prepare 未能创建它应该创建的提交:

[maven-release-plugin] 为下一次开发迭代做准备 [maven-release-plugin] 准备发布 foo-1.0.0

mvn release:prepare-with-pom 失败并出现 git 错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.2:prepare-with-pom (default-cli) on project foo: Cannot remove release POMs from SCM
[ERROR] Provider message:
[ERROR] The git command failed.
[ERROR] Command output:
[ERROR] error: the following file has changes staged in the index:
[ERROR] release-pom.xml
[ERROR] (use --cached to keep the file, or -f to force removal)
[ERROR] -> [Help 1]
[ERROR] 

【问题讨论】:

看起来这是 ***.com/questions/17233718/… 和 ***.com/questions/13648894/… 的副本 【参考方案1】:

根据Mark Derricutt's solution,将 maven-scm-provider-gitexe:1.8.1 依赖显式添加到 maven-release-plugin:2.4.2 插件中:

<build>
   <plugins>
      <!-- ... -->
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-release-plugin</artifactId>
         <version>2.4.2</version>
         <dependencies>
            <dependency>
               <groupId>org.apache.maven.scm</groupId>
               <artifactId>maven-scm-provider-gitexe</artifactId>
               <!-- This version is necessary for use with git version 1.8.5 -->
               <version>1.8.1</version>
            </dependency>
         </dependencies>
      </plugin>
   </plugins>
</build>

背景:

git-1.8.5 对git status 的格式进行了重大更改,因此现在像maven-release-plugin 这样的脚本应该使用瓷器选项git status --porcelain 而不是git status。 因此,Robert Scholte could not include a dependency to maven-scm-provider-gitexe:1.8 with maven-release-plugin:2.4.2。 git 的 maven scm 提供程序合并了该修复程序以包含 --porcelain 标志和 maven-scm-provider-gitexe:1.8.1,但 maven-release-plugin:2.4.2 尚未更新其对 maven-scm-provider-gitexe 的依赖。请参阅https://jira.codehaus.org/browse/SCM-686 了解更多信息。 尽管依赖已过时,但我们可以通过显式添加依赖到 1.8.1 来覆盖它,如上所示。

【讨论】:

【参考方案2】:

这似乎已在 3 月 5 日发布的 maven-release-plugin 版本 2.5 中得到修复。

【讨论】:

谢谢乔伊,jira.codehaus.org/browse/MRELEASE-862 似乎修复了它。需要注意的另一件事是凯利戴维斯在jira.codehaus.org/browse/MRELEASE-767 中提到的 - 尚未确认,但这可能是多模块项目的问题(我相信解决方法是在每个子模块的 pom 中添加一个 scm 标签)就像在父 pom 中一样。) 好吧,我还没有看到 MRELEASE-767 中描述的关于我们在github.com/overturetool/overture 的(大量)多模块项目中描述的行为,所以我怀疑修复是可以的。

使用 maven-release-plugin 部署程序集包

】使用maven-release-plugin部署程序集包【英文标题】:Deployingassemblypackagewithmaven-release-plugin【发布时间】:2011-01-1516:56:02【问题描述】:我们使用Hudson和maven-release-plugin进行发布构建。现在我有一个项目,其中包含一个assembly,它将... 查看详情

为啥 maven 不替换 maven-release-plugin 发布版本的环境变量?

】为啥maven不替换maven-release-plugin发布版本的环境变量?【英文标题】:Whyisn\'tmavenreplacingtheenvironmentvariableforthemaven-release-pluginreleaseversion?为什么maven不替换maven-release-plugin发布版本的环境变量?【发布时间】:2013-07-1211:52:30【问... 查看详情

在 Git 中使用 maven-release-plugin

】在Git中使用maven-release-plugin【英文标题】:Usingmaven-release-pluginwitGit【发布时间】:2013-07-0501:59:21【问题描述】:我用maven创建了一个java项目。我正在尝试使用maven-release插件发布我的项目。当我按照下图所示的顺序执行以下命... 查看详情

maven-release-plugin 标签创建

】maven-release-plugin标签创建【英文标题】:maven-release-plugintagcreation【发布时间】:2014-04-0413:38:59【问题描述】:我只是使用maven-release-plugin发布一个版本,很明显:)我父pom中的scm配置如下:<scm><developerConnection>scm:svn:http:/l... 查看详情

使用 maven-release-plugin 转换术语

】使用maven-release-plugin转换术语【英文标题】:Terminologyshiftwithmaven-release-plugin【发布时间】:2013-03-2812:31:27【问题描述】:通常开发人员会说我们制作构建,而不是部署到不同环境(集成、测试、生产)中的服务器。部署到生产... 查看详情

maven-release-plugin 和表达式的问题

】maven-release-plugin和表达式的问题【英文标题】:Problemswithmaven-release-pluginandexpressions【发布时间】:2015-09-1611:11:32【问题描述】:我们正在尝试使用Jenkins上的maven-release-plugin发布我们的项目。很遗憾,我们遇到了这个错误:[ERROR... 查看详情

Github 从 maven-release-plugin 发布

】Github从maven-release-plugin发布【英文标题】:Githubreleasefrommaven-release-plugin【发布时间】:2013-07-2402:40:46【问题描述】:我有一个多模块项目,其中聚合器位于项目的根目录中,父级位于所有其他模块旁边的子目录中pom.xml(aggregator... 查看详情

避免使用 maven-release-plugin 为下一次开发迭代更新 POM 版本

】避免使用maven-release-plugin为下一次开发迭代更新POM版本【英文标题】:AvoidupdatePOMversionsfornextdevelopmentiterationwithmaven-release-plugin【发布时间】:2015-02-2717:04:38【问题描述】:我正在使用maven-release-plugin和git发布我的第一个版本。... 查看详情

maven-release-plugin 先前版本的文档在哪里?我正在寻找版本 2.8.2

】maven-release-plugin先前版本的文档在哪里?我正在寻找版本2.8.2【英文标题】:Whereisdocumentationforpriorreleasesofmaven-release-plugin?I\'mlookingforversion2.8.2【发布时间】:2021-05-2018:00:45【问题描述】:我正在尝试找出maven-release-plugin是否使... 查看详情

maven-release-plugin,是不是可以不使用分支标签标记 pom.xml

】maven-release-plugin,是不是可以不使用分支标签标记pom.xml【英文标题】:maven-release-plugin,isitpossiblewithouttaggingpom.xmlwithbranchtagmaven-release-plugin,是否可以不使用分支标签标记pom.xml【发布时间】:2016-10-1206:40:07【问题描述】:我正... 查看详情

maven-release-plugin:pom.xml 的 scm 部分中的文件夹是不是相关?

】maven-release-plugin:pom.xml的scm部分中的文件夹是不是相关?【英文标题】:maven-release-plugin:Isthefolderrelevantinthescmsectionofthepom.xml?maven-release-plugin:pom.xml的scm部分中的文件夹是否相关?【发布时间】:2011-10-2009:51:16【问题描述】:... 查看详情

maven-release-plugin:2.5:prepare 失败并显示“写入 POM 时出错:(访问被拒绝)”

】maven-release-plugin:2.5:prepare失败并显示“写入POM时出错:(访问被拒绝)”【英文标题】:maven-release-plugin:2.5:preparefailswith"ErrorwritingPOM:(Accessisdenied)"【发布时间】:2014-05-2214:08:11【问题描述】:我尝试运行mvnrelease:prepare(... 查看详情

在 Eclipse 中运行 maven-release-plugin 时没有版本提示

】在Eclipse中运行maven-release-plugin时没有版本提示【英文标题】:Noversionpromptwhenrunningmaven-release-plugininsideEclipse【发布时间】:2013-07-2212:39:43【问题描述】:当我从命令行运行mavenrelease:prepare时,系统会提示我输入发布版本、开发... 查看详情

maven-release-plugin release:branch - 避免提交到原始分支

】maven-release-pluginrelease:branch-避免提交到原始分支【英文标题】:maven-release-pluginrelease:branch-Avoidcommittooriginalbranch【发布时间】:2020-04-2723:11:43【问题描述】:我刚刚遇到了障碍,真的需要了解maven-release-plugin的人提供一些见解。... 查看详情

未能执行目标 org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare

】未能执行目标org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare【英文标题】:Failedtoexecutegoalorg.apache.maven.plugins:maven-release-plugin:2.5.3:prepare【发布时间】:2017-05-2407:06:11【问题描述】:我创建了一个Maven项目。构建是成功的。但是... 查看详情

maven-release-plugin 可以在两个远程存储库中创建标签吗?

】maven-release-plugin可以在两个远程存储库中创建标签吗?【英文标题】:Canmaven-release-plugincreateatagsintworemoterepositories?【发布时间】:2017-08-0815:33:41【问题描述】:我有两个maven存储库:repo1和repo2。它们没有连接(我的意思是没有... 查看详情

提交前未调用完成目标

...过程中,如下所示:<plugins><plugin><artifactId>maven-release-plugin</artifactId><configuration> 查看详情

Maven 发布插件未使用配置的用户名

...【发布时间】:2015-04-1416:28:16【问题描述】:我正在使用maven-release-plugin:2.5.1。我需要将其配置为使用公钥/私钥身份验证连接到SVN。尝试通过SSH连接到SVN时,我在获取配置以使用正确的用户名时遇到问题。我的deploy-settings.xml&am 查看详情