La forma más sencilla de hacer esto sería crear un ensamblado usando maven-assembly-plugin
y el jar-with-dependencies
descriptor predefinido . También necesitará generar un manifiesto con una entrada de clase principal para este uber jar. El siguiente fragmento muestra cómo configurar el complemento de ensamblaje para hacerlo:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
Luego, para generar el ensamblado, simplemente ejecute:
mvn assembly:assembly
Si desea generar el ensamblaje como parte de su compilación, simplemente vincule el assembly:single
mojo a la fase del paquete:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Y simplemente ejecuta:
mvn package