15

pom がパッケージ タイプ「pom」に設定されていると、単体テストの実行に問題が発生します。最初は、このプロジェクトにゴールは必要ないと言っていたので、pom.xml に maven-surefire-plugin を追加して、テスト フェーズを maven-surefire-plugin テスト ゴールにバインドしました。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.9</version>
            <executions>
                <execution>
                    <phase>test</phase>
                    <goals>
                        <goal>test</goal>
                    </goals>
                </execution>
            </executions>
        </plugin> 

これで確実なプラグインが実行されますが、実行するテストがないと表示されます。パッケージ タイプを jar に変更して mvn test を実行すると、テスト ファイルが取得されます。

mvn test -X を実行すると、正しい場所である「testSourceDirectory = C:\dev\dsl\src\test\java」と表示されます。パッケージタイプ「pom」と「jar」のテスト場所は異なりますか? 追加してみました

            <configuration>
                <testSourceDirectory>src/test/java</testSourceDirectory>
            </configuration>

確実なプラグインに追加しましたが、まったく役に立ちませんでした。

4

1 に答える 1

16

Daveがコメントしたように、pomパッケージを使用している場合は、次のライフサイクル目標のみが実行されます。この関連するMavenのドキュメントを参照してください。

  • パッケージ
  • インストール
  • 配備

他の目標を実行するために必要な場合は、明示的に指定する必要があります。例えば、

mvn clean compiler:testCompile surefire:test
于 2012-01-13T04:16:25.593 に答える