1. ホーム
  2. java

[解決済み] Maven -DskipTestsは無視されます。

2022-03-09 07:23:41

質問

私は次のようなMavenプロジェクトを構築しています。 シュアファイヤー の構成になります。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${version.maven-surefire-plugin}</version>
    <configuration>
        <includes>
            <include>**/*Test.java</include>
        </includes>
    </configuration>
</plugin>

問題なのは mvn clean install -DskipTests=true テストはまだ実行されています。何が問題なのでしょうか?

両方試しましたが -DskipTests (これは メイヴン ウェブサイト ) と -DskipTests=true をチェックすると、IntelliJ Ideaによって追加されます。

Mavenの settings.xml .

  • Mavenバージョン:2.2.1
  • Surefireのプラグインです。2.3

EDIT SureFireプラグインの設定をコメントアウトすると、パラメータが期待通りの挙動をします。上記の設定に何か問題があるのでしょうか?

解決方法を教えてください。

あなたがしたことはうまくいくはずです。さらにデバッグするにはどうしたらよいですか。

  1. 実行する mvn help:effective-pom をクリックすると、Mavenが実行するPOM全体が表示されます。それを検索して test (大文字・小文字を区別しない) で、何かおかしな点がないか確認します。

  2. 実行する mvn test -X を実行すると、デバッグ出力が得られます。の設定に使用されたオプションが表示されます。 maven-surefire-plugin . 出力は必ずファイルにリダイレクトしてください!

    ログには、次のように表示されます。

    [DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-surefire-plugin:2.15:test' with basic configurator -->
    
    

    で、その下に何行か。

    [DEBUG]   (s) runOrder = filesystem
    [DEBUG]   (s) skip = false
    [DEBUG]   (s) skipTests = false
    
    

    これらの値は、テストがスキップされないことを意味します。

  3. 最近のバージョンのプラグインを使用していますか? ここで確認 . このオプションは、お使いのバージョンでサポートされていない可能性があります。