首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在maven版本的-DrulesUri参数中提供我的"rules.xml“文件:更新属性而不需要在pom.xml文件中指定它?

如何在maven版本的-DrulesUri参数中提供我的"rules.xml“文件:更新属性而不需要在pom.xml文件中指定它?
EN

Stack Overflow用户
提问于 2019-01-05 21:41:32
回答 1查看 641关注 0票数 4

我正在使用Maven Versions插件的pom.xml - properties目标来更新多个项目的属性。(https://www.mojohaus.org/versions-maven-plugin/update-properties-mojo.html)。我想要最新版本的属性依赖项。

现在,有一些版本错误的二进制文件。我希望我的代码忽略这些版本。为此,我创建了我的"rules.xml“文件。我想把它作为-DrulesUri参数提供给update-properties目标。

我已经尝试在项目的pom.xml文件中指定这个rules.xml文件,如(Maven versions plugin: reference a rule.xml from a maven dependency?)所示。这是因为插件可以成功地忽略rules.xml中指定的版本。因此,rules.xml文件没有问题。但是,这在我的情况下没有用,因为涉及到许多项目,并且我不能更新每个项目的pom.xml。

rulesUri属性的文档指出“包含控制如何比较版本号的规则的ruleSet文件的URI。URI可以是旅行车URI或类路径URI(例如,类路径:/package/sub/package/rules.xml)”。这么多的文档对我没什么帮助。我想要一个关于如何在-DrulesUri参数中指定rules.xml文件的示例。我尝试将rules.xml文件指定为本地相对路径/绝对路径。但是,update-properties goal似乎无法识别规则,只是在没有-DrulesUri参数的情况下进行类似的执行。我试着通过阅读https://maven.apache.org/wagon/来理解旅行车URI。但是,我没有找到一种简单的方法,可以将我的rules.xml上传到某个地方,然后使用这个旅行车URI在-DrulesUri中指定。

这是我的rules.xml文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" comparisonMethod="maven" xsi:schemaLocation="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0 http://mojo.codehaus.org/versions-maven-plugin/xsd/rule-2.0.0.xsd">
    <ignoreVersions>
        <ignoreVersion type="regex">25243.*.*</ignoreVersion>
    </ignoreVersions>
    <rules>
    </rules>
</ruleset>
EN

回答 1

Stack Overflow用户

发布于 2019-06-24 15:27:44

使用-Dmaven.version.rules

示例:

代码语言:javascript
复制
mvn versions:display-dependency-updates -Dmaven.version.rules=file:///$HOME/.m2/rules.xml

来自AbstractVersionsReport.java源代码:

代码语言:javascript
复制
    /**
     * URI of a ruleSet file containing the rules that control how to compare
     * version numbers. The URI could be either a Wagon URI or a classpath URI
     * (e.g. <code>classpath:///package/sub/package/rules.xml</code>).
     *
     * @since 1.0-alpha-3
     */
    @Parameter( property = "maven.version.rules" )
    private String rulesUri;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54052587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档