З Maven 2 правильний спосіб зробити це - використовувати плагін Maven2 Assembly, який має для цього заздалегідь визначений файл дескриптора, який ви можете просто використовувати в командному рядку:
mvn assembly:assembly -DdescriptorId=jar-with-dependencies
Якщо ви хочете зробити цю банку виконуваною, просто додайте основний клас, який слід запустити, до конфігурації плагіна:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>my.package.to.my.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Якщо ви хочете створити що збірка , як частина нормального процесу складання, ви повинні зв'язати одного або каталог синглу мети ( assembly
мета повинна тільки бути запущена з командного рядка) до фази життєвого циклу ( package
має сенс), що - щось на зразок цього:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>create-my-bundle</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
...
</configuration>
</execution>
</executions>
</plugin>
Пристосовуйте configuration
елемент відповідно до ваших потреб (наприклад, з маніфестаційними матеріалами, про які говориться).