回答:
-Darguments="-DskipTests"
あなたが望むもの、またはpomでフォークされた実行を明示的に設定します
2
。私はこれを正しくするために何時間も費やしました...しかし、1。ドキュメントに何か見逃しましたか、またはmvnドキュメントに何か見当違いはありませんか?2. <skipTests>true</skipTests>
会社でPOMを構成しました。それでも動作しませんでした。うまくいったのはあなたの解決策でした。
-Darguments="..."
は分岐したMavenプロセスに引数を渡しますが、ここでは2つの異なるスイッチが使用されていることを理解することが重要です。-DskipTests
(あなたは、テスト・ジャータイプの依存関係を持っている場合、これは重要である)の力がどのテストを実行しないようにMavenのが、テストがまだコンパイルされています。-Dmaven.test.skip=true
Mavenの力であっても任意のテスト-jarが生成されないことを意味し、テストをコンパイルできません。
したがって、を使用する必要がありますが-Darguments
、使用のみを実行するテストをスキップするにはskipTests
、使用のコンパイルを停止しますmaven.test.skip
。
選択肢が多すぎてリリースプラグインでのテストを回避およびスキップできない
例: mvn -X -Darguments="-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true" -P release-mode release:prepare
-2つ目は、ビルドのpom.xmlでこれらの引数を次のように実行することです。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.9.4</version>
</dependency>
</dependencies>
<configuration>
<skip>true</skip>
<skipTests>true</skipTests>
<preparationGoals>clean validate</preparationGoals>
<arguments>-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true</arguments>
<useReleaseProfile>false</useReleaseProfile>
<releaseProfiles>release-mode</releaseProfiles>
<tagNameFormat>TEST-@{project.version}</tagNameFormat>
</configuration>
</plugin>
2番目のメソッドが最初のメソッドをオーバーライドすることに注意してください。
最初に1つのアクションでリリースを準備することをお勧めします。次に、作業ディレクトリのrelease.propertiesファイルを編集してexec.additionalArguments
、引数が存在する場合はプロパティを確認できます。次のようになりますexec.additionalArguments=-Dmaven.javadoc.skip\=true -Dmaven.test.skipTests\=true -Dmaven.test.skip\=true -P release-mode
。
あなたが解放を実行した後。
単体テスト全体をスキップするには、引数を使用します
-Dmaven.test.skip = true
ユニットテストをスキップしたい場合はこれで解決します
mvn install -Dmaven.test.skip=true
mvn package -Dmaven.test.skip=true
または、maven-surefire-pluginでskipTestsを定義できます
pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
文字通りテストのコンパイルまたは実行をトリガーするMavenプラグインはありません。1つ以上のプラグインの実行をトリガーするのは、Mavenライフサイクルのフェーズです。
したがって、テストを実行しなくても、単一のプラグイン目標を実行するだけで十分です。
mvn release:perform
またはプロジェクトのビルドとパッケージ化と組み合わせる:
mvn clean package release:perform