maven-shade-pluginを使ってFatjarの作り方

Fatjarとは複数のjarをいったん解凍して、ひとつのjarにまとめたものらしい。
ぽすったーの依存jarをFatjarでひとつにまとめることで、jarがひとつになって使いやすくなる、算段。
なので、やってみた。
antなら解凍してまたひとつにするスクリプトを書けばできそうだけど、Maven2だとmaven-shade-pluginというのがある。
これを使えば簡単にできる。
http://maven.apache.org/plugins/maven-shade-plugin/examples.html
上記URLの最初のShade Plugin with no relocationを参考にするといいと思う。
includeタグやexcludeタグを使えば何を入れて何を外すかということが可能だ。
基本的にJUnitは入らないので外す、という感じ。
以下に例を。

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-shade-plugin</artifactId>
	<executions>
		<execution>
			<phase>package</phase>
			<goals>
				<goal>shade</goal>
			</goals>
			<configuration>
				<artifactSet>
					<excludes>
						<exclude>junit:junit</exclude>
					</excludes>
				</artifactSet>
			</configuration>
		</execution>
	</executions>
</plugin>



何かしらの理由でFatjarを作らないといけない場合は、結構有効じゃないかな。