问题标签 [versions-maven-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.
java - 在 Maven 中,项目何时成为反应器的一部分?
我只是在阅读Versions Maven Plugin的源代码,并注意到了这段代码:
一般来说,项目(或项目的父项目)何时成为反应器的一部分,这意味着什么?
java - Maven 版本插件:从 Maven 依赖项中引用 rule.xml?
我正在使用mvn versions:display-dependency-updates versions:display-plugin-updates
目标来检查依赖项或插件更新。
我的 maven 项目是一个多模块项目,如下所示:
由于有一些不需要的更新,比如我不想要的测试版,我制作了一个过滤器(有效)。我这样使用它:
我被迫使用配置文件和属性version.rules.uri
,因为它必须引用现有文件(默认情况下它指向./build-config/rules.xml
,但它也在我settings.xml
的绝对路径中)。
我想通过以下方式避免这种情况:
- 发布独立
build-config
项目 - 使用一些 uri 引用这个项目:
m2:myGroupId:myArtifactId:version:scope:jar/rules.xml
现在的问题是:是否有允许读取存储库条目(例如 jar )的 Maven Wagon 插件(由 maven 版本插件使用)的实现?
maven-3 - Maven 仅用最新版本替换 SNAPSHOTS
所以我正在使用 maven 3.0.5 并试图用 LATEST 版本等效替换项目中的所有 -SNAPSHOTS。在有人指出我的版本 maven 插件和矩阵之前:
http://mojo.codehaus.org/versions-maven-plugin/examples/advancing-dependency-versions.html
让我补充一点,我已经研究过了,到目前为止还无法让版本插件忽略非 SNAPSHOT 依赖项。根据上面链接中的矩阵, use-latest-releases 目标应该正是我想要的,但是当我运行时:
mvn 版本:使用最新版本
包括发布版本在内的所有依赖项都会递增到最新版本。这不是我想要的,我似乎找不到从更新候选列表中过滤出发布版本的方法。
我还尝试将版本插件配置为仅在其版本中包含带有 -SNAPSHOT 的工件,如下所示:
请注意,所有快照的版本均为“0-SNAPSHOTS”,我们正在为我们的版本实施http://axelfontaine.com/blog/maven-releases-steroids.html中描述的发布过程的修改版本。
此外,我想对存储在属性中的版本号做同样的事情,基本上使用:
mvn 版本:更新属性
我想忽略所有发布版本,只针对 -SNAPSHOT 版本进行更新。
jenkins - 发布和版本 Maven 插件
我们遇到了 Maven 版本和 Maven 版本插件的问题。在 Jenkins 中,我们希望在按下按钮时自动发布。要删除快照依赖项,我们要使用 maven 版本插件。假设我们有两个项目 A(最新版本 0.0.1,最新快照 0.0.2-SNAPSHOT)和项目 B 依赖于 ProjectA - 0.0.2-SNAPSHOT,我们想要发布项目 B。我们如何升级项目 Bs 依赖项到最新的可用发行版?maven 版本插件目标“use-releases”不会更改 0.0.2-SNAPSHOT 依赖项,因为该项目没有 0.0.2 发布版本。
所以我的问题是:我们如何自动删除快照依赖项并在我们的场景中用最新的可用版本替换它们?
java - 在哪里运行 mvn 版本:为多模块项目设置(使用聚合器)?
我有一个带有构建/聚合 pom 的多模块 maven 项目。在我的项目中,我有一个公共的父 pom,它设置了版本号,所有子模块都继承父版本(即:任何子 pom 中都没有版本信息)。但是,构建 pom 有它自己的版本号,并且不继承父 pom。
我正在尝试更新项目的构建版本(即:父版本)。通过更新父版本,我还需要更新所有子模块对父模块的引用。前任:
但是,我不确定如何正确使用版本插件。我发现这个工作的唯一方法是运行以下命令:
它会更新父 pom 版本,但不会递归到子模块中,然后
这似乎不“正确” - 两个步骤,并没有真正按照应有的方式使用 update-child-modules。
我应该从哪个模块调用版本:设置目标?是否有让父母和所有孩子自动更新他们的版本的一站式解决方案?
maven - Maven 版本-maven-plugin 版本插件2.2 -- Maven 大叔情况
Maven 是 3.1.0。
我在项目的 pom.xml 中使用了versions-maven-plugin:2.2(如下所示)。除了通常的 pom.xml 文件配置之外,我只是在下面显示主要代码快照:
现在,当我运行:mvn clean install时,它会成功构建。
注意:在我的项目中,我有一个父部分,我依赖于部署父工件,其组 ID“com.company.product”与我想要的工具父工件(其 pom.xml我已经粘贴在上面)但是 deploy-parent 是另一个存储库/项目的工件。
当我运行:mvn versions:set -DnewVersion=0.0.7时,我收到以下错误消息。
现在,当我将versions-maven-plugin版本改回2.1(我之前使用的)时,上面的mvn版本:set -DnewVersion = 0.0.7命令成功运行并且pom.xml文件成功更改为<version>0.0.7</version>
对于工具父工件。
对于 2.2 版,它给了我错误,而不是将版本更改为 0.0.7。
- 2.2失败的任何原因?可以做些什么来解决它?
maven - Maven 更新版本目标在 Jenkins 中构建旧版本
我有一个 Jenkins/maven 构建,我们需要能够生成具有任意版本号的发布工件。版本号作为参数传递给构建作业。我正在使用versions:set
将 pom.xml 中的版本更新为 $VERSION 参数。运行构建时,maven 似乎确实更新了 pom.xml 的工作副本中的版本,但是它使用旧版本号构建工件。
pom.xml:
在 Jenkins 作业中调用顶级 maven 目标:
我的构建输出看起来像这样($VERSION 为 0.1.2)
我注意到虽然初始运行将使用旧版本构建,但如果未还原工作目录,后续运行将使用更新的 pom.xml 中的新版本正确构建。在构建工件之前,如何使用新版本更新 pom 文件?
约束:
- 虽然我们可以对 pom.xml 进行更改,但它并不直接在我们的控制之下,而且是一个不太实用的解决方案。在一个理想的世界里,pom 已经用正确的版本更新了,我们根本不会这样做。
- 我知道我可以在 maven 构建之前添加一个 shell 步骤,并在 pom.xml 或类似的东西上做一个 sed 替换。这确实有效,但它很丑陋,并且无法与更复杂的 pom 一起很好地扩展。本地 Maven 解决方案是非常受欢迎的。
- 我已经独立于詹金斯(即
mvn versions:set -DnewVersion=0.1.2
)对此进行了测试,并且行为是相同的
maven-3 - Maven:执行目标版本时出错:更新属性
我正在运行命令mvn versions:update-properties
,但出现以下错误:
我已经在 Maven-JIRA ( https://issues.apache.org/jira/browse/MNG-2057 ) 中找到了一张票,该票已在 Maven 版本 2.0.8 中修复,但我使用的是 Maven 3.2.5。这有什么关系?以及如何在不避免更新属性的情况下避免此类错误?
平台信息通过mvn -version
:
java - Set version with versions-maven-plugin in interactive mode with M2Eclipse plug-in?
I want to change the version of my multi module project with versions-maven-plugin
and goal versions:set
in Eclipse. I use M2Eclipse.
I can set the new version with -DnewVersion=0.0.2-SNAPTSHOT
in the launch configuration and it works fine. But I want to use the interactive mode.
If I don't set -DnewVersion=0.0.2-SNAPTSHOT
in launch configuration, I get following error message:
Maven Settings Reference says:
- interactiveMode:
true
if Maven should attempt to interact with the user for input,false
if not. Defaults totrue
.
maven-3 - Maven 版本插件:更新插件
我在运行版本时看到了一些更新:display-plugin-updates,但我发现插件无法修复这些更新。我只是错过了什么吗?
这是输出:
是否有更新这些插件和/或添加未定义插件的目标?