mvn 发布:准备不提交对 pom.xml 的更改

2023-12-08

我正在尝试发布一个 Jenkins 插件(隐藏通知程序)使用 Maven 并面临发布插件的问题。

mvn clean release:prepare

运行完成时没有错误,但无法在我的本地 git 存储库中提交更改的 pom.xml 。尽管它确实标记了我试图发布版本 1.0.2 的分支的 HEAD。这是我的本地分支在准备发布之前的样子

* df60768 (HEAD, origin/develop, develop) upgraded parent pom to version 1.498
* 792766a added distribution management section to pom.xml and amended readme.md 

这就是它之后的样子

* df60768 (HEAD, tag: stashNotifier-1.0.2, origin/develop, develop) upgraded parent pom to version 1.498
* 792766a added distribution management section to pom.xml and amended readme.md 

不幸的是,pom.xml 已经包含了下一个开发版本,这又会导致后续的release:perform 发布该快照版本。

从maven的命令输出来看,它几乎看起来省略了git commit命令:

[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier && git add -- pom.xml
[INFO] Working directory: /Users/gruetter/Dropbox/stashNotifier
[INFO] Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier && git status
[INFO] Working directory: /Users/gruetter/Dropbox/stashNotifier
[INFO] Tagging release with the label stashNotifier-1.0.2...
[INFO] Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier && git tag -F /var/folders/dr/xxbtyycs1z9dl2_snlj87zrh0000gn/T/maven-scm-678409272.commit stashNotifier-1.0.2
[INFO] Working directory: /Users/gruetter/Dropbox/stashNotifier
[INFO] Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier && git push [email protected]:jenkinsci/stashnotifier-plugin.git stashNotifier-1.0.2
[INFO] Working directory: /Users/gruetter/Dropbox/stashNotifier
[INFO] Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier && git ls-files
[INFO] Working directory: /Users/gruetter/Dropbox/stashNotifier
[INFO] Transforming 'Stash Notifier'...
[INFO] Not removing release POMs
[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier && git add -- pom.xml
[INFO] Working directory: /Users/gruetter/Dropbox/stashNotifier
[INFO] Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier && git status
[INFO] Working directory: /Users/gruetter/Dropbox/stashNotifier
[INFO] Release preparation complete.

我正在运行 Maven 3.0.5(没有 --dry-run 或 -DpushChanges=false)。以下是我的有效 pom 的相关(我认为)部分:

[...]

<scm>
   <connection>scm:git:git://github.com/jenkinsci/stashnotifier-plugin.git</connection>
   <developerConnection>scm:git:[email protected]:jenkinsci/stashnotifier-plugin.git</developerConnection>
   <url>https://github.com/jenkinsci/stashnotifier-plugin</url>
</scm>

[...]

<distributionManagement>
   <repository>
      <id>maven.jenkins-ci.org</id>
      <url>http://maven.jenkins-ci.org:8081/content/repositories/releases/</url>
   </repository>
   <snapshotRepository>
      <id>maven.jenkins-ci.org</id>
      <url>http://maven.jenkins-ci.org:8081/content/repositories/snapshots</url>
   </snapshotRepository>
   <site>
     <id>github-pages</id>
     <url>gitsite:[email protected]/jenkinsci/maven-site.git:plugin-parent/stashNotifier</url>
   </site>
</distributionManagement>

[...]

<properties>
   [...]
   <maven-release-plugin.version>2.2.2</maven-release-plugin.version>
   [...]
</properties>

[...]

<build>
   [...]
   <pluginManagement>
      <plugins>
         [...]
         <plugin>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.2.2</version>
         </plugin>
         [...]
   </pluginManagement>

   [...]

   <plugins>
      [...]
      <plugin>
         <artifactId>maven-release-plugin</artifactId>
         <version>2.2.2</version>
         <configuration>
            <goals>deploy</goals>
         </configuration>
      </plugin>
      [...]
   </plugins>
</build>

我究竟做错了什么?


我通过更新 git scm 提供程序依赖项(而不是发布插件版本)解决了我这边的问题(运行 maven 3.0.5):

<build>
  <plugins>
    <plugin>
      <artifactId>maven-release-plugin</artifactId>
      <version>2.4.2</version>
      <dependencies>
        <dependency>
          <groupId>org.apache.maven.scm</groupId>
          <artifactId>maven-scm-provider-gitexe</artifactId>
          <version>1.8.1</version>
        </dependency>
       </dependencies>
      </plugin>
    </plugins>
</build>

git scm 1.8.1 版本正确地进行了 git 提交(使用准备和回滚目标进行了测试)。

编辑:根据您的环境,可能需要不同版本的 maven-release-plugin 和 maven-scm-provider-gitexe。请参阅评论以进行更多讨论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mvn 发布:准备不提交对 pom.xml 的更改 的相关文章

随机推荐

  • docker ERR_NAME_NOT_RESOLVED http ajax

    我有 3 个简单的微服务 mysql apirest gui 我开始使用 docker compose version 3 2 services mysql image mysql mysql server 5 6 container na
  • [UITableViewCell nameLabel]:发送到实例的无法识别的选择器

    我想知道是否有人知道如何解决这个问题 由于未捕获的异常 NSInvalidArgumentException 而终止应用程序 原因 UITableViewCell nameLabel 无法识别的选择器发送到实例 0x7fa9ca4936c0
  • 黑莓 kSoap2 和 Soap 标头

    尝试指定自定义肥皂标头 不确定如何填充 Soap Envelope header Out 属性 到目前为止我的代码 String soapAction serviceNamespace SearchCustomer SoapObject r
  • htaccess(https 到 http)

    这是另一个 htaccess 问题 我已经做了文献综述 将不胜感激任何帮助 要求 仅对少数 URL 强制使用 HTTPS 浏览器不应该说部分加密的页面对于 SSL 页面 我正在使用 CodeIgniter 并调整了base url in 配
  • 将 SummerNote 与 vue.js 2 结合使用

    我想在我的 vue js 2 spa 中使用 Summernote 并且因为并非所有页面都使用 SummerNote 所以我通过添加来使 SummerNote 成为一个组件 export default editor function su
  • WCF 数据序列化:可以更快吗?

    这个问题有点像that问题 当我们想要构建一个处理某种数据的 WCF 服务时 我们很自然地希望它快速高效 为了实现这一目标 我们必须确保数据传输的所有部分都尽可能快地工作 从 SQL Server 等数据存储后端到请求该数据的 WCF 客户
  • 提示输入数组大小

    我的程序按照我的意愿执行 但是我希望修改扫描仪 以便用户可以指定他们输入的数组的长度 因此 当程序启动时 它会询问有多少个数字 然后它将继续执行按顺序打印数字 然后按相反顺序打印数字 这是我当前的程序 我需要修改什么才能实现这一点 impo
  • sqoop merge-key 创建多个部分文件,而不是不符合使用 merge-key 目的的文件

    理想情况下 当我们运行增量时没有merge key它将创建带有附加数据集的新文件 但如果我们使用merge key然后它将创建新的整个数据集 仅包括一个文件中的前一个数据集 但是当我使用时我没有得到一个零件文件incremental app
  • 将焦点设置为 Angular 4 中嵌套组件的元素

    在 Angular 4 中 我有一个组件嵌套在另一个组件中 内部或子组件包含 按钮 输入和下拉列表 在父页面上 当我单击按钮时 会显示输入和下拉列表 单击按钮时设置输入焦点的好方法是什么 到目前为止我尝试过的 在子组件中 我在输入上添加了一
  • 从 Web 浏览器文档中的 JavaScript 调用 C# 代码

    我有一个 C WinForms 应用程序 其中有一个 WebBrowser 控件 我想在我的 C 表单和嵌入式 Web 浏览器控件中的 JavaScript 之间执行双向通信 我知道我可以调用 JavaScript 函数调用脚本 但是如何在
  • 在 PostgreSQL 中,为什么当我输入密码后按 Enter 时命令行窗口会消失?

    我今天在笔记本电脑上安装了 PostgreSQL 运行 Windows 10 并尝试开始学习 SQL PostgreSQL 安装教程说要尝试使用命令提示符进行连接 方法是打开 psql exe 所以我这样做了 出现了命令窗口 它要求我输入密
  • 如何在 GWT 中检查时间戳的正则表达式?

    以下时间戳格式的正则表达式是什么 YYYY MM DD HH mm ss S YYYY MM DD HH mm ss S AM PM YYYY MM DD HH mm ss S AM PM Z YYYY MM DD HH mm ss S Z
  • 如何使用java在文本文件中写入内容?

    我在java which system out中有一个程序 输出一些字符串 我需要将它们每个保存在一个文本文件中它以某种格式显示若1行2行3我想要它 row1 row2 row3我怎样才能在java中做到这一点 import java ut
  • 通过引用调用函数参数

    给定一个函数 def A a b c a 2 b 4 c 8 return a b c 如何将 c var 设置为按引用调用 所以如果我调用d A a b c c 将指向同一个 int 对象 并从函数内更新 你正在进入一个模糊的领域 你正在
  • 使用 numpy einsum 计算矩阵列向量的内积

    假设我有一个像这样的 numpy 矩阵 1 2 3 10 100 1000 我想计算每列与其自身的内积 所以结果是 1 1 10 10 2 2 100 100 3 3 1000 1000 101 10004 1000009 我想知道这是否可
  • 可以将自定义元数据添加到 Android 中的图像中吗?

    是否可以使用 Android SDK 或某些第 3 方库将自定义元数据写入 JPG 图像 然后提取它 如果是的话有什么简单的解决办法吗 预先非常感谢 Android 包括一个Exif接口 但你也可以查看桑瑟兰公共酒店
  • 旋转 d3 中的 x 轴文本

    我是 d3 和 svg 编码的新手 正在寻找一种在图表的 x 轴上旋转文本的方法 我的问题是 通常 xAxis 标题比条形图中的条形宽 因此 我希望旋转文本以在 xAxis 下方垂直 而不是水平 运行 我尝试添加转换属性 attr 变换 旋
  • 新的 Apps Script IDE 太有帮助了。你能把它关掉吗?

    知道如何关闭涵盖您正在处理的行上方的代码的上下文帮助吗 它还涵盖了超级烦人的自动完成功能 在新的 Apps 脚本代码编辑器中 没有用于禁用上下文帮助的用户首选项设置
  • 编译器什么时候为类的特殊成员提供定义?

    我知道 当我定义一个空类并且根本不提供任何声明时 编译器将为默认和复制构造函数 析构函数和复制赋值运算符提供定义 其规则是什么 编译器什么时候not提供一个复制构造函数 移动构造函数和移动赋值运算符怎么样 示例 如果我的类有一个引用成员 例
  • mvn 发布:准备不提交对 pom.xml 的更改

    我正在尝试发布一个 Jenkins 插件 隐藏通知程序 使用 Maven 并面临发布插件的问题 mvn clean release prepare 运行完成时没有错误 但无法在我的本地 git 存储库中提交更改的 pom xml 尽管它确实