更新特定的父POM

时间:2019-02-26 05:44:01

标签: maven versions-maven-plugin

我的项目中有几个POM,其中一些具有指向存储库外部工件的父对象。因此,当我发布此版本时,我应该为我的父母和项目使用不同的版本。

我需要搜索以“ com.mycompany”作为父groupId和“ myproduct”作为父artifactId的POM,versions-maven-plugin应该仅将父版本更新为1.0.0。项目版本应保持不变。稍后,我将正常更改项目版本。

我无法执行此操作。到目前为止,我已经尝试过: 我设计了一个包含以下内容的Rules.xml:

<ruleset comparisonMethod="maven" xmlns="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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">
  <rules>
    <rule groupId="com.mycompany" artifactId="myproduct" comparisonMethod="maven"/>
      <ignoreVersions>
        <ignoreVersion type="regex">.*</ignoreVersion>
      </ignoreVersions>
  </rules>
</ruleset>

我用

调用了版本插件
mvn versions:set -DnewVersion=1.0.0 -DprocessProject=false -DrulesUri=file:///doc/Rules/Rules.xml -DgenerateBackupPoms=true

但这不会更新这些pom的父版本。

我也叫update-parent

mvn versions:update-parent -DparentVersion=1.0.0 -DrulesUri=file:///doc/Jenkinsfiles/PR/version/Rules.xml -DgenerateBackupPoms=true

但这为我更新了所有父poms。我猜我的Rules.xml也错了。但是即使这样,父版本还是任意的,而不是parentVersion。也许我不理解这个Maven目标中parentVersion背后的含义。我需要它来更新到我选择的版本。

0 个答案:

没有答案