私のプロジェクトのリリースバージョンを設定したいと思います。私はすべてのモジュールに集約pomを使用します。各モジュールの親は、前述の集合体ではありません。集約ルートが親pomでないマルチモジュールMavenプロジェクトのモジュールのバージョン番号を更新
私の質問はUpdating version numbers of modules in a multi-module Maven project質問とは異なります。そこには集約pomも親pomです。
集計のpom.xmlがある:
Module1標準のpom.xmlがある<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>aggregate</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
<modules>
<module>module1</module>
</modules>
</project>
:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>module-1</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>com.example</groupId>
<artifactId>parent1</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../../parent1/pom.xml</relativePath>
</parent>
</project>
私が実行した場合:
mvn versions:set -DnewVersion=0.0.1
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] module-1
[INFO] aggregate
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building aggregate 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.3:set (default-cli) @ aggregate ---
[INFO] Searching for local aggregator root...
[INFO] Local aggregation root: C:\Users\maxim.kirilov\workspace\maven-games\aggregate
[INFO] Processing change of com.example:aggregate:0.0.1 -> 0.0.1
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] module-1 ........................................... SKIPPED
[INFO] aggregate .......................................... SUCCESS [ 0.962 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
Module1のがスキップされている理由?私は、各モジュールごとにmaven set versionコマンドを別々に呼び出すことを提案する記事を読んでいます。よりクリーンなソリューションをサポートしていますか?
ドキュメントに 'autoVersionSubmodules'のような設定はありませんか?これは[maven-release-plugin](http://maven.apache.org/maven-release/maven-release-plugin/prepare-mojo.html)でのみ利用可能ですが、[versions-maven-plugin]では利用できません( http://www.mojohaus.org/versions-maven-plugin/) – khmarbaise
2番目のリンクで、mvn -N versionsのようなものを読むことをお勧めします:update-child-modulesが役に立ちます。現時点では、autoVersionSubmoduleは無視できますが、私は両方のプラグインを使用しています:releasrと上記のコードとのバージョンは、うまく動作します。 – LNP
autoVersionSubmoduleは、バージョン-maven-pluginで利用できる設定項目ではありません。これは、maven-release-pluginでのみ利用可能です。 versions-maven-pluginからは無視されます。 – khmarbaise