web-dev-qa-db-ja.com

Mavenリリースプラグインにテストをスキップさせる方法は?

Spotifyのdocker-client のマスターチェックアウトでmvn release:prepare -Darguments="-Dmaven.test.skip=true -DskipTests"を実行しています。しかし、テストをスキップするmavenのリリースプラグインを取得できません。この場合、MavenがCLIフラグを尊重しないのはなぜですか?

リリースプラグインがsurefire-pluginを実行する原因も知りたいです。 pom.xmlに指定されたsurefire-pluginはありません。

mvn --version

Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T12:29:23-05:00)
Maven home: /usr/local/Cellar/maven/3.2.5/libexec
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.2", Arch: "x86_64", family: "mac"
23
David Xia

これは私のために働いた。リリースの準備と実行の両方を望んでいました。

mvn clean -DskipTests -Darguments=-DskipTests release:prepare release:perform
84
David Xia

Pom.xmlで次を使用しました

        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.5.3</version>
            <configuration>
                <tagNameFormat>v@{project.version}</tagNameFormat>
                <arguments>-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true</arguments>
            </configuration>
        </plugin>
4
nrkkalyan

これはMaven 3.6(およびおそらくいくつかの以前のバージョン)で動作します。

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.5.3</version>
    <configuration>
        <arguments>-DskipTests</arguments>
    </configuration>
</plugin>
1
OrangeDog