いくつかのプロジェクトで使用している Maven プラグインを作成しました。最初のプロジェクトでは、実行は 1 回だけで、プラグインを直接実行できます。
mvn com.mycompany:my-plugin:0.0.1-SNAPSHOT:do-stuff
2 番目のプロジェクトでは、プラグインに複数の実行があり、上記のコマンドを試すと、プラグインが空のパラメーターで実行しようとするため、失敗してしまいます。
どちらの場合も、プラグインは process-resources フェーズの一部として実行されると正常に動作することに注意してください。プラグインのゴールだけを実行しようとすると失敗します。2 番目の例が空白のパラメーターで実行しようとする理由を誰かが理解するのを手伝ってくれますか?
最初のプロジェクト (1 回の実行 - 正常に動作):
<plugin>
<groupId>com.mycompany</groupId>
<artifactId>my-plugin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<configuration>
<sourceFiles>
<sourceFile>loadfile</sourceFile>
</sourceFiles>
<outputFile>outputFile</outputFile>
</configuration>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>do-stuff</goal>
</goals>
</execution>
</executions>
</plugin>
2 番目のプロジェクト (複数の実行 - wok ではありません):
<plugin>
<groupId>com.my-company</groupId>
<artifactId>my-plugin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<executions>
<execution>
<id>default</id>
<phase>process-resources</phase>
<configuration>
<sourceFiles>
<sourceFile>file1</sourceFile>
</sourceFiles>
<outputFile>outputFile</outputFile>
</configuration>
<goals>
<goal>do-stuff</goal>
</goals>
</execution>
<execution>
<id>novice</id>
<phase>process-resources</phase>
<configuration>
<sourceFiles>
<sourceFile>file1</sourceFile>
<sourceFile>file2</sourceFile>
</sourceFiles>
<outputFile>outputFile</outputFile>
</configuration>
<goals>
<goal>do-stuff</goal>
</goals>
</execution>
</executions>
</plugin>