问题标签 [maven-release-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
41013 浏览

java - Maven 发布插件失败:源工件被部署两次

我们正在使用 hudson 上的 maven 发布插件并尝试自动化发布过程。发布:准备工作正常。当我们尝试执行 release:perform 时,它失败了,因为它尝试将源工件两次上传到存储库。

我尝试过的事情,

  1. 从超级 pom 中删除包含 maven 源插件的配置文件(不起作用)
  2. 将 hudson 上的发布目标指定为 -P!attach-source release:prepare release:perform。我认为这会将源插件排除在执行之外。(不工作)。
  3. 尝试将插件阶段指定为超级 pom 中的某个不存在的阶段。(不起作用)
  4. 尝试指定插件配置,forReleaseProfile 为 false。(你猜怎么着??也没有用)

它仍然吐出这个错误。

对此的任何帮助将不胜感激。

0 投票
1 回答
867 浏览

maven-2 - 使用 Maven 在一个远程服务器文件夹中传输 Jar & Wars

我正在将现有项目转换为 Maven 及其构建和发布过程。我的结构是这样 ParentProj -Child1 -Child2 -ChildWeb3 -ChildWeb4

我不确定 maven 最佳实践说什么,但我需要 1. 分别标记我的所有子项目 2. 当我通过部署服务器转移到 (mvn release:prepare release:perform -B) 时,它会创建一种存储库我想在远程服务器上创建一个文件夹&只把所有的罐子和战争放在里面&没有其他文件 3.还有什么方法可以在我的远程服务器中执行 shell 脚本

等待您的指导

0 投票
1 回答
374 浏览

java - 使用 Hudson 发布 Maven。发布成功,但哈德森保持红色

我们正在使用 Hudson 上的 maven 发布插件来自动化发布过程。当我们进行发布时,控制台日志确实显示发布成功并且工件被部署到存储库。但哈德逊仍然保持红色。当我查看 hudson 时,版本是绿色的,项目的所有其他模块都保持红色。

我们的项目结构是。

模块 1 和模块 2 工件被部署。所有的测试都通过了。但是当我看哈德森时,它保持红色。

当我查看 hudson 模块控制台日志时,我发现这是

可能是什么原因。任何帮助,将不胜感激。我想让哈德森变绿。

0 投票
2 回答
1542 浏览

maven-2 - Maven 发布:执行问题

我在尝试运行 Maven 任务时遇到问题:mvn -X release:perform

0 投票
1 回答
538 浏览

maven-2 - Maven 插件 - mvn 发布:准备

嗨,我正在通过新创建的插件(mpc)检查 pom(scm 区域)的某些部分......但现在我在 mvn 发布期间遇到了这个问题:准备使用创建的插件(mpc)的不同模块我得到了以下消息:

输出“不是工作副本”...是因为我正在检查 svn info 输出...问题是我可以在 mvn release:prepare 期间以某种方式识别这种状态吗?例如通过roperties 或检查当前项目的属性?换句话说,我在我的 maven 插件 (mpc) 中知道当前 release:prepare 循环正在运行?

0 投票
3 回答
10992 浏览

maven - 如何自定义 Maven 发布插件的标签格式?

在我们的 SVN 存储库中,我们存储这样的标签:

当我在项目 A 上运行 Maven 发布插件的“准备”目标时,默认情况下它会创建标签为“tags/project_a-xx”,这与我上面的标签命名方案不匹配。因此,我依赖于发布的人(即一个容易犯错的人)来发现这一点并将标签更改为“tags/project_a/xx”。我如何告诉发布插件默认使用正确的格式?

“准备”目标有一个“标签”配置选项,声称可以这样做,但如果我将其设置如下:

...那么创建的标签是“tags/project_a/xx-SNAPSHOT”,即它使用预发布版本号而不是发布版本号。将标签名称硬编码到 POM 中似乎也是错误的。

如何确保标签默认正确?

0 投票
1 回答
494 浏览

svn - maven 2 发布插件重新检查所有其他 SVN 标签,而不仅仅是当前发布的标签

我有一个正在发布的 Maven 2 项目。这些年来我已经发布过好几次了,自从我上次发布它以来,它在结构上和配置上都没有太大变化(maven 版本都一样,插件版本都一样)。

但是,我刚刚注意到,在执行之后release:prepare,然后运行release:perform所有标签现在都从 SVN 中签出,而不仅仅是我们正在发布的标签,而且现在执行发布需要几个小时(过去最多需要 30分钟)。

我的 Subversion 存储库以标准方式设置:

发布插件是否总是这样做而我只是注意到它,还是我做了一些事情来鼓励这一点?

我使用的命令如下:

我唯一能想到的是,这可能是我第一次使用自动版本子模块开关, -DautoVersionSubmodules=true这可能是问题吗?

或者,有没有办法解决它,我可以使用一些忽略标签吗?

或者,我是否清除了 maven 的target/checkout工作目录,其中包含所有以前的标签的签出,我不需要担心,因为这只会发生一次,下次它只会对target/checkout目录执行 deltas?

0 投票
0 回答
550 浏览

maven - release:prepare 在 SCM 标签上失败

可能重复:
Maven 发布插件在创建标签时失败

我正在尝试使用 scm 插件,但是在执行 mvn release:prepare 时失败。它说svn:“' http:// svn-host / proj-path '的选项:无法连接到服务器(http:// svn-host)”

svn:update 和 svn:checkin 从命令行工作正常,并且svn-host可以从我运行命令的机器上访问。

我错过了什么?

谢谢。

问题解决了。感谢帮助。

0 投票
1 回答
603 浏览

maven-2 - 如何从 Maven 版本中排除非修改(scm)模块

我有一个包含大约 200 个 jar 的巨大项目,当我准备发布 maven 时为所有 jar 准备,但肯定有自上次构建以来尚未修改的 jar,所以有什么方法可以检查自上次从 scm 构建以来 jar 是否已被修改? 并排除它们?

我不想单独释放罐子(超过 200 个)。

例如:我想为父级制作 relase 但我不想发布尚未修改的 jar4

0 投票
1 回答
3954 浏览

maven-2 - 如何设置具有正确发布和版本结构的多模块 maven 项目

在版本控制、发布和 osgi 包方面,我找不到我的多模块 maven 项目的最佳实践,

首先是版本控制和发布。我的项目有 5-6 个子模块和 200+ jar 所以想使用聚合,

案例一:不指定项目版本,使用父版本

  • 在这种情况下,如果我使用 maven 发布插件,标记和 pom.next 都可以用于开发(好的意味着 jar3 将始终使用与自身相同的最新版本的 jar1)但是如果我只需要为 jar1 制作补丁发布怎么办?我如何设法发布(它说由于未发布的依赖项父:0.0.2-SNAPSHOT 无法发布项目),如果我设法发布 jar1 0.0.1.1,如何说 jar3 使用 jar1 的修补版本?

    Parent Proejct (0.0.1-Snapshot)
     Module1
      Jar1
      Jar2
     Module2
       Jar3
        (dependencies)[Jar1(project.version),Jar2(project.version)]
      Jar4
        (dependencies)[Jar1(project.version),Jar3(project.version) ]

案例 2:也许在父 pom 的属性文件中指定 jar 版本是个好主意

  • 在这种情况下,当我检查 pom.next 时不幸使用发布插件时,我看到 jar 版本和依赖版本都恢复为硬编码而不是属性(jar1.version),因此对于下一个版本,我将无法使用属性,并且第二个问题是即使我设法解决了第一个问题 maven 发布插件不会更改属性,所以下一个版本将使用属性中未修改的版本

    父项目
     属性
      jar1.version
      jar2.version
      jar3.version
      jar4.version
     Module1
      Jar1(jar1.version)
      Jar2(jar2.version)
     Module2(0.0.1-Snapshot)
      Jar3(jar3.version)
       (依赖)[Jar1,Jar2]
      Jar4(0.0.1-Snapshot)
       (依赖)[Jar1,Jar3]

我有点困惑,没想到发布和补丁程序会那么困难,用 maven 管理这种需求的最佳方法是什么