私はMavenを初めて使用するので、Mavenjarプラグインの使用例を確認したいと思います。私はすでにここを訪れましたが、例は見つかりませんでした。ドキュメントページには、この目標のためにリストされたいくつかのパラメーターがありましたが、私が探していたのは、それらを「goal」または「executions」タグに配置する方法です。ありがとう。
2 に答える
通常、jar プラグインは使用しません。パッケージングを jar に設定すると、ゴール jar:jar が自動的に実行されます。
jar プラグインを構成する場合は、次のようにします。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<excludes>
<exclude>**/*.xml</exclude>
</excludes>
</configuration>
</plugin>
(例: jar からすべての xml ファイルを除外します)
ゴールまたは実行ブロックを追加する必要はありません。グローバル構成ブロックはすべての実行に対して有効です。
参照:
私は Maven を初めて使用するので、maven jar プラグインの使用例を見てみたいと思います。私はすでにここを訪れましたが、例は見つかりませんでした。
通常、すべての Maven プラグインには使用状況ページがあり、Maven JAR Pluginも同様です。しかし、 seanizerが指摘したように、Maven JAR プラグインを直接呼び出すのは珍しいことです。実際には「直接使用する」わけではなく、Maven が行います。
Maven には、フェーズ (例: 、、など) で構成されるビルド ライフサイクルと、プロジェクトのパッケージに依存するデフォルトのライフサイクル バインディング(フェーズにバインドされたプラグインのゴール) が付属しています。そして、ユーザーとして(例: )を呼び出すと、Maven は特定のプラグインの目標を使用して実際にジョブを実行します。compile
test
package
phase
package
たとえば、packaging
が typeのプロジェクトのjar
場合、目標は にバインドされpackage
、jar:jar
Maven はプロジェクトを JAR としてパッケージ化します。packaging
タイプが のプロジェクトの場合war
、war:war
は にバインドされpackage
、Maven は 中に WAR を生成しpackage
ます。等々。
このアプローチの利点は、プロジェクトの種類 ( jar
、war
、ear
など) に関係なく、ビルドするために詳細を知る必要がないことです。「既知の」フェーズを知る必要があるだけです。compile
プロジェクトをtest
コンパイルする、テストをコンパイルして実行する、package
パッケージ化するなどです。
ドキュメンテーション ページには、この目標のためにいくつかのパラメーターがリストされていましたが、私が探していたのは、それらを「目標」または「実行」タグに配置する方法です。
プラグインの構成に関するガイドでは、要素を指定することによって行われる任意のMaven プラグインを構成するための規則について説明しています<configuration>
。これ<configuration>
は、一般的 (グローバル) にすることも、ビルド ライフサイクル<execution>
の特定のフェーズに参加する for ゴールに固有にすることもできます。そして、それらの 1 つを構成する方法を理解したら、それらのいずれかを構成できます (パラメーターのみが各プラグインに固有です)。
Maven JAR プラグインの特定のケースでは、グローバルで十分であり、 (デフォルトのものに加えて)<configuration>
特別なものが必要になることはほとんどありません。<execution>