Después de mucho trabajar ya hallamos el arreglo de esta obstáculo que algunos de nuestros usuarios de nuestra web tienen. Si quieres aportar algo más no dejes de compartir tu información.
Solución:
De forma predeterminada, Spring Boot vuelve a empaquetar su JAR en un JAR ejecutable, y lo hace poniendo todas sus clases dentro BOOT-INF/classes
y todas las bibliotecas dependientes dentro BOOT-INF/lib
. La consecuencia de crear este JAR gordo es que ya no puede usarlo como dependencia para otros proyectos.
Del clasificador de reenvasado personalizado:
Por defecto, el
repackage
Goal reemplazará el artefacto original con el reempaquetado. Ese es un comportamiento sensato para los módulos que representan una aplicación, pero si su módulo se usa como una dependencia de otro módulo, debe proporcionar un clasificador para el reempaquetado.La razón de esto es que las clases de aplicación están empaquetadas en
BOOT-INF/classes
para que el módulo dependiente no pueda cargar las clases de un jar reempaquetado.
Si desea mantener el artefacto principal original para usarlo como una dependencia, puede agregar un classifier
en el repackage
configuración de objetivos:
org.springframework.boot
spring-boot-maven-plugin
1.4.1.RELEASE
repackage
exec
Con esta configuración, Spring Boot Maven Plugin creará 2 JAR: el principal será el mismo que un proyecto Maven habitual, mientras que el segundo tendrá el clasificador adjunto y será el JAR ejecutable.
La respuesta de Tunaki es correcta pero no funciona en Bota de primavera 2.
Bota de primavera 1.x
org.springframework.boot
spring-boot-maven-plugin
1.5.20.RELEASE
repackage
exec
...
Lee mas
Bota de primavera 2.x
Si estás usando
spring-boot-starter-parent
larepackage
el objetivo se ejecuta automáticamente en una ejecución con idrepackage
. En esa configuración, solo se debe especificar la configuración como se muestra en el siguiente ejemplo:
org.springframework.boot
spring-boot-maven-plugin
repackage
exec
...
Lee mas
Para Spring Boot 2, la respuesta de @Tunaki debe modificarse un poco de acuerdo con la documentación si spring-boot-starter-parent
se utiliza como padre:
org.springframework.boot
spring-boot-maven-plugin
repackage
exec
Toma nota de los extras
necesario sobrescribir para ejecutar desde el spring-boot-starter-parent
.
Si sostienes algún recelo o disposición de ascender nuestro artículo eres capaz de escribir una glosa y con deseo lo leeremos.