Bir projeyi jar olarak export ettiğinizde sadece projenin kaynakları jar'a eklenir. Eğer bir jar oluşturduğunuzda kullanılan harici tüm kütüphanelerin ve kaynakların jar'a eklenmesini istiyorsanız Maven'de shade plugin'ini kullanabilirsiniz. Plugin pom.xml'in plugins elementi içine eklenmelidir:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.test.App</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
Bu eklemeyi yaptıktan sonra
mvn package komutu verildiğinde tüm kaynakların içerildiği jar üretilecektir. Artık oluşan jar'daki com.test.App uygulamasını çalıştırabilirsiniz ve başka bir harici jar'ı classpath'e eklenemenize gerek yoktur.