<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>
<exclude>javax.servlet:servlet-api</exclude>
</excludes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
- 全部入りの Jar (Fat Jar)をつくる。
- POMに指定した依存ライブラリのうち、実行環境にあるもの( <dependency> で、<provided> と指定したライブラリ ) も全部入り Jar に取り込まれてしまうようだ
- 取り込みたくないライブラリは、<exclude> で指定する。
- JUnit はともかく、できた 全部入り Jar に、servlet-api が含まれていると、Webコンテナが Jar ファイルをロードしないので注意。Webアプリの共通部品を作った時にはまった・・・
Java Maven