Lo que quiere lograr se llama uber jar. Este módulo debe tener dependencias de todos los demás submódulos que desee empaquetar en un solo contenedor. Si crea otro submódulo que produzca un artefacto deseado, puede construirse en un reactor con todas sus dependencias, pero si será un proyecto separado, deberá instalar todas las dependencias de uber jar.
| parent
| -- submodule1
...
| -- submoduleN
| -- uberjarSubmodule
tarro de Uber se puede hacer mediante el uso de:
maven-shade-plugin - en su caso, usted tiene que recordar para excluir dependecies transitivos de sus módulos
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<excludes>
<exclude>classworlds:classworlds</exclude>
<exclude>junit:junit</exclude>
<exclude>jmock:jmock</exclude>
<exclude>xml-apis:xml-apis</exclude>
</excludes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
</project>
maven-assembly-plugin - en this pregunta encontrará una respuesta detallada
sombra parece un plugin genial. – Clinton