当前位置: 首页 > 知识库问答 >
问题:

在git-1.8.5中使用maven release插件

鲁烨
2023-03-14

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

mvn release:prepare无法创建它应该创建的提交:

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

mvn发布:使用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] 

共有2个答案

祖浩淼
2023-03-14

3月5日发布的maven release插件版本2.5似乎已经修复了这一问题。

邵麒
2023-03-14

根据Mark Derricutt的解决方案,显式地将maven scm提供程序gitexe:1.8.1依赖项添加到maven release插件: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状态的格式进行了突破性的更改,因此像maven release plugin这样的脚本现在应该使用陶瓷选项git状态-陶瓷,而不是git状态
 类似资料:
  • 在DITA OT 1.8.5中,可以使用插件com.elovirta.ooxml将DITA转换为DOCX吗 输入dita映射文件: 并输入dita文件: docx转换运行后,我得到的错误日志如下: docx.convert: 在C:\DITA-OT\DITA-OT1.8.5-ELED\BUILD中生成失败。xml:44:执行此行时发生以下错误:C:\DITA-OT\DITA-OT1.8.5-ELE

  • 我已经编写了以下蚂蚁目标,以从GitHub存储库中获取代码。 当我从命令提示符运行它时,目标工作正常。但是,当我尝试从 Jenkins 运行它时,它失败并出现以下错误: 构建失败C:\ Users \ pjai 12 \ test \ BUILD . XML:66:执行失败:Java . io . io异常:无法运行程序“git”:CreateProcess error = 2,系统找不到在Jav

  • 操作步骤: 菜单栏 —> Edit -- > Column Selection Mode (列选择模式) 快捷键: Mac: Shift + Command + 8 Windows/Linux: Alt + Shift + Insert

  • jsTree的某些功能已移出核心,因此您只能在需要时使用它。要启用插件,请使用 plugins 配置选项 ,并将该插件的名称添加到数组中。 例如,启用所有插件可以通过以下方式完成: (仅启用您需要的插件) "plugins" : [ "checkbox", "contextmenu", "dnd", "massload", "search", "sort", "stat

  • 在过去的几天里,我尝试为Git版本配置Maven发布插件。我已经为它设置了一个测试项目,我尝试了很多配置,以至于我不知道如何将它们全部显示给您... 在任何情况下,Maven Release插件都只使用当前签出的分支。如果我在主分支上启动发布插件,它会在上面创建标签,但是如果我在开发分支上,它会在那里创建所有东西。 我的实际pom是这样的: 我搜索了很多网站,找不到使用Git的Releasplug

  • 因此,我遵循了本教程,学习了如何使用Windows CMD为github设置SSH,在我使用 我在哪里得到的 即使我运行,我也会收到预期的消息,告诉我我已通过身份验证。 在搔了一会儿脑袋之后,我决定在git bash上试试。 我注意到的第一件事是跑步 在git bash中,我得到了但是当我在Windows CMD上运行相同的命令时,我得到了所有的SSH密钥? 因此,在git bash中添加ssh密