ここでの問題は、何が期待されているのかわからないことです。現在の設定では、コマンドラインでプラグインを呼び出すだけで機能します。
$ mvn exec:exec
[情報]プロジェクトをスキャンしています...
[情報] ----------------------------------------------- -------------------------
[情報]建物Q3491937
[INFO]タスクセグメント:[exec:exec]
[情報] ----------------------------------------------- -------------------------
[情報] [exec:exec {実行:default-cli}]
[INFO]ラップトップ
[情報] ----------------------------------------------- -------------------------
[INFO]成功したビルド
[情報] ----------------------------------------------- -------------------------
...
グローバルconfiguration
が使用され、hostname
コマンドが実行されます(laptop
ホスト名です)。つまり、プラグインは期待どおりに動作します。
ビルドの一部としてプラグインを実行したい場合は、特定のフェーズでゴールをバインドする必要があります。たとえば、次のようにバインドしますcompile
。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<id>some-execution</id>
<phase>compile</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>hostname</executable>
</configuration>
</plugin>
その後:
$ mvn compile
[情報]プロジェクトをスキャンしています...
[情報] ----------------------------------------------- -------------------------
[情報]建物Q3491937
[情報]タスクセグメント:[コンパイル]
[情報] ----------------------------------------------- -------------------------
[INFO] [resources:resources {execution:default-resources}]
[情報] 'UTF-8'エンコーディングを使用して、フィルタリングされたリソースをコピーします。
[情報]存在しないresourceDirectory / home / pascal / Projects / Q3491937 / src / main / resourcesをスキップします
[INFO] [compiler:compile {execution:default-compile}]
[INFO]コンパイルするものはありません-すべてのクラスが最新です
[INFO] [exec:exec {execution:some-execution}]
[INFO]ラップトップ
[情報] ----------------------------------------------- -------------------------
[INFO]成功したビルド
[情報] ----------------------------------------------- -------------------------
...
のconfiguration
内部を指定できることに注意してくださいexecution
。