Maven Source Pluginです。
インストール時やデプロイ時にこのプラグインの設定をしているとソースコードをまとめたjarファイルもインストール/デプロイされるので、他の人がこのアーティファクトを利用する際にいちいちSCMからチェックアウトしなくてもソースコードを参照できるようになり、IDEなどでの開発がより便利になります。
インストール時やデプロイ時にこのプラグインの設定をしているとソースコードをまとめたjarファイルもインストール/デプロイされるので、他の人がこのアーティファクトを利用する際にいちいちSCMからチェックアウトしなくてもソースコードを参照できるようになり、IDEなどでの開発がより便利になります。
Goals
Sourceプラグインには3つのゴールがあります。jar
メインのソースコード、リソースをjarにまとめます。test-jar
テストのソースコード、リソースをjarにまとめます。aggregate
pomプロジェクトで実行すると、モジュールにあるソースコードを収集してjarファイルにまとめます。
使い方
メインのソースコード、リソースをjarにまとめる
$ mvn source:jar
生成されるjarファイルは、${finalName}-sources.jarというファイル名になります。
テストのソースファイル、リソースをjarにまとめる
$ mvn source:test-jar
生成されるjarファイルは、${finalName}-test-sources.jarというファイル名になります。
モジュールにあるソースコードをjarにまとめる
$ mvn source:aggregate
モジュールにあるすべての(テスト含む)ソースコード、リソースをjarファイルにまとめます。
生成されるjarファイルは、${finalName}-sources.jarというファイル名になります。
設定
よく使う設定、便利な設定を紹介します。その他の設定については、source:jar、source:test-jar、source:aggregateを参照してください。
excludeResources
リソースを対象から除外するかどうかを設定します。設定例
<project>
・・・・
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<configuration>
<excludeResources>true</excludeResources>
</configuration>
</plugin>
</plugins>
・・・・
</build>
・・・・
</project>
画像ファイルなどの大きなリソースを含めたくない場合に指定します。
デフォルトは
false
(除外しない)です。package
フェーズで自動的にsources.jarを生成する
jar
ゴールがpackage
フェーズで起動するよう、<execution>
タグで設定します。設定例
<project>
・・・・
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
・・・・
</build>
・・・・
</project>
この設定により、生成されたsources.jarファイルがインストール/デプロイされるようになります。