如何获取命令行属性来覆盖 Maven 属性

2023-12-13

我有一个 pom 文件,其中某些依赖项的版本号依赖于项目版本pom 文件设置中指定的属性。我可以通过命令行覆盖它吗?如果是这样,怎么办?

这是一个很长的故事:

我们目前正在将项目转移到 Maven,但还没有完全实现。有多个模块仍然不是使用 maven 构建的,因此是我们项目中的依赖项(它们通过 ant 构建到 jar 中)。发布后,我们希望构建所有这些 jar 并包含与父项目相同的版本号。对于发布,需要执行两个步骤(直到我们可以使用 Maven 获取所有内容)

  1. 这些 jar 是在 ant 中构建的,具有正确的发行版本 (12.12.4.0)。
  2. Maven 发布插件用于将项目部署到我们的工件存储库。

在第二步中,命令行参数用于指定版本:

mvn release:prepare -DreleaseVersion=12.12.4.0 -DdevelopmentVersion=12.12.4.1-SNAPSHOT -Dtag=iv-12.12.4.0

我希望 pom 文件更新为指定的版本。但是,当运行此命令时,pom 文件中的版本 (12.12.4.0-SNAPSHOT) 仍在使用。这会导致“检查快照的依赖项和插件”步骤失败,并且我需要解析仍具有 Maven 版本属性中使用的 12.12.4.0-SNAPSHOT 版本的 jar。

这让我想到了最初的问题:如何覆盖它,以便版本解析为命令行上指定的版本。 可以帮助我解决这个问题的其他问题是: 如何让maven发布插件在此检查之前更新pom文件? 如何跳过快照检查(不可取)

我可以在 pom 文件中创建一个可以覆盖的属性,但随后我必须在 pom 文件中的两个位置维护版本号。

想法?


从命令行直接将参数添加到 pom 例如:

mvn clean install -Dtestng.version=6.3.1

Example:

     <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.test</groupId>
        <artifactId>test</artifactId>
        <version>1.0.0</version>
        <name>test</name>
        <properties>
                <testng.version>6.4</testng.version>
        </properties>

        <dependencies>
                <dependency>
                        <groupId>org.testng</groupId>
                        <artifactId>testng</artifactId>
                        <version>${testng.version}</version>
                        <scope>test</scope>
                </dependency>
        </dependencies>
</project>

如果正常运行,将使用 testng 版本 6.4。但如果你像这样运行它:mvn clean install -Dtestng.version=6.3.1将使用 testng 版本 6.3.1。

See 在 Jenkins 中设置 Maven 参数

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

如何获取命令行属性来覆盖 Maven 属性 的相关文章

随机推荐

  • 在画布周围移动一个矩形

    我的应用程序中间有一个画布 周围有控件 我有一个接收点并将它们保存在列表中的套接字 我在画布上画了 4x4 的小矩形来表示列表中的点数 说有 4 个点 有 4 个矩形 我希望能够在点随代码变化时移动矩形 如果没有故事板或任何 动画 类 这可
  • 如何设置连接超时

    我正在查看下面的 C 代码 它设置了一个 http 连接并打开了一个请求 或者我相信是这样 并且想增加连接超时值 以便我可以发送更大的文件 我知道这不是处理大文件的最佳解决方案 但我觉得它是最快的解决方案 而且现在时间是一个大问题 编辑 我
  • 在 linq 的外连接中使用过滤器

    我有以下实体 public class Company public string CompanyName get set public int ID get set public class CompanyCurrency public
  • .Net Windows 应用程序中的缓存

    我正在一个基于 Windows 的应用程序中工作 该应用程序对每笔交易都使用主数据 该主数据通常不会更改 但在某些情况下可能会更改 我正在将此数据提取到缓存中或DataSet一次并将其用于将来的事务 但如果主表中的数据发生更改 则不想花时间
  • 作为 .py 运行时出现随机模块错误

    当您将其作为 py 运行时 它不会加载 random 的特定模块 但如果我在 python shell 中加载它 就没有问题 coding utf 8 usr bin env python import random print rando
  • innerHTML 不适用于 JS 中的类名

    我的下拉列表选择特定值
  • 将工作项从本地 TFS 迁移到 VSTS

    我正在将本地 TFS 迁移到 VSTS 云 TFS 到目前为止一切工作正常 但现在我想将所有现有工作项迁移到 VSTS 我在互联网上搜索了解决方案并找到了一些文章 他们建议使用一些 CMD Line 工具从 TFS 迁移工作项 但不幸的是
  • Ruby 使用 RegEx 在字符串中查找整个数学表达式 [重复]

    这个问题在这里已经有答案了 我正在尝试编写一个程序 该程序将接受字符串并使用 RegEx 来搜索某些数学表达式 例如 1 3 4 2 仅要查找的运算符是 so far string something something nothing 1
  • 如何获取 SSIS 脚本组件中的列值?

    在下面的代码中 我获取了列名称 但在中找不到 Value 属性输入栏 我还需要获取列的值 而不仅仅是名称 IDTSInput100 input ComponentMetaData InputCollection 0 IDTSVirtualI
  • VML 转 PNG/PDF (jsp)

    我已经使用 raphael js 在 Internet Explorer 8 中绘制了我的流程图 现在我想将我的绘图导出为图像文件 我找到了一些答案 但仍然困惑该怎么办 有人可以帮助我解决这个问题吗 示例代码会很棒 导出为 PNG 或 PD
  • Road to Ember 2.0 - 高级 Ember 应用程序结构反馈?

    我发现我正试图在一个特别波动的时期开始学习 Ember 最近的 Road to 2 0 博客文章帮助我明确了前进的方向 但我正在努力在高水平上验证我对 Ember 的方法 我想对人们的时间敏感 我的完整代码适合有兴趣提供更具体反馈的任何人
  • weka 中的 SMO 置信度测量

    我正在使用以下方法编写分类代码smoweka 类 但我还没有找到实例分类的置信度度量 当以下情况时 它总是返回 0 或 1distributionForInstance叫做 我要分为两个类 知道我怎样才能得到这个措施吗 谢谢 好吧 我想出了
  • 在 Notepad++ 中的匹配模式后添加新行

    我有一个 csv 文件 现在我需要以另一种形式导入它 我想在特定模式后有一个换行符 r n 所有模式看起来都是这样的 true or false int number between 0 and 100 decimal number wit
  • 从 PHP 函数内部创建全局变量

    我正在尝试定义动态变量 我为此使用了一个函数 但我不知道如何将新的 var 定义为全局变量 因为它从未在函数之前创建 那可能吗 Thanks edit 好的 这就是我构建的 有那么危险吗 function extract values ro
  • ActiveRecord 和 Postgresql 的枚举类型

    我正在关注这个tutorial从 SitePoint 将模型属性设置为 Enum 值 Rails 从 4 1 开始支持该值 我尝试添加季节枚举 而不是性别枚举 这是我遇到的问题schema db Could not dump table s
  • 如何更改 iOS 7 中未选中的选项卡栏项目颜色?

    在 iOS 7 之前我使用过 UITabBar appearance setTintColor UIColor redColor 但现在它只绘制选定的项目 我已经阅读了一些建议 但我不知道如何做到这一点 我也使用了这个 self tabBa
  • 如何使用 jQuery 设置电话号码格式

    我目前显示的电话号码如下2124771000 但是 我需要将数字格式化为更易于理解的形式 例如 212 477 1000 这是我目前的HTML p class phone 2124771000 p Simple http jsfiddle
  • 服务器发送的多个用户事件

    我正在尝试使用新的服务器发送事件 API 编写聊天程序 但是 我一直无法弄清楚如何向不同的用户发送不同的事件 由于所有代码都发生在一个 PHP 文件中 我不确定仅向每个用户发送某些事件的最佳方法 您能提供的任何帮助将不胜感激 我正在使用 P
  • java中如何在其他类中使用公共类中定义的变量?

    一个外行人关于变量定义和使用的问题 我需要制作一个 Java GUI 来获取用户的输入并将其存储在文本文件中 然而 这种写入必须在 Actionlistener 类内完成 即 用户单击按钮并创建并存储文本文件 这意味着我必须在一个类 公共类
  • 如何获取命令行属性来覆盖 Maven 属性

    我有一个 pom 文件 其中某些依赖项的版本号依赖于项目版本pom 文件设置中指定的属性 我可以通过命令行覆盖它吗 如果是这样 怎么办 这是一个很长的故事 我们目前正在将项目转移到 Maven 但还没有完全实现 有多个模块仍然不是使用 ma