Java 以外の Maven アーティファクトを作成しています。では、いくつかの依存関係を解決してから、プラグインpom.xml
を使用してカスタム スクリプトを実行します。exec
一部のファイルはディレクトリに作成されますが、Maven はそれらを jar にパッケージ化するときに認識しません。
2 回実行するmvn package
と、2 回目の実行で jar にリソース ファイルが含まれます。
なぜこれが起こっているのですか?スクリプトはフェーズ中に実行されるため、フェーズが jar を作成しているcompile
ときに、ファイルは既に作成されています。package
これは私のpom.xml
構成の関連する(うまくいけば)部分です:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<id>build-plugin</id>
<phase>compile</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>bash</executable>
<arguments>
<argument>build_plugin.sh</argument>
<argument>${workspace}</argument>
<argument>${plugin}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>${project.basedir}/${outputPath}</directory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>target/**</exclude>
</excludes>
</resource>
</resources>
すべての変数とパスは有効です。2 回目の実行では、予想される内容の jar を取得しています。しかし、最初の間ではありません。