Tengo un proyecto Springboot v2 con Java 1.8 y cuando intento implementar mi proyecto Springboot en Wildfly 10, sigo recibiendo este error
19:12:25,295 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "HealthCheck.war")]) - failure description: { "WFLYCTL0080: Failed services" => {"jboss.module.service.\"deployment.HealthCheck.war\".main" => "org.jboss.msc.service.StartException in service jboss.module.service.\"deployment.HealthCheck.war\".main: WFLYSRV0179: Failed to load module: deployment.HealthCheck.war:main Caused by: org.jboss.modules.ModuleNotFoundException: jdk.unsupported:main"}, "WFLYCTL0412: Required services that are not installed:" => ["jboss.module.service.\"deployment.HealthCheck.war\".main"], "WFLYCTL0180: Services with missing/unavailable dependencies" => undefinedYa creé un jboss-deployment-structure.xml y agregué la dependencia "jdk.unsupported" allí, también intenté agregar eso a MANIFEST.MF y también intenté agregar la dependencia "jdk.unsupported" faltante en el pom bajo el complemento maven-war pero no hubo suerte.
Esto se debe a un cambio de última hora , que se introdujo en Spring-core 5.3.* , el cambio en la biblioteca Spring-core que causa el problema anterior es commit . Si usa Spring boot versión 2.4.* , seguramente enfrentará este problema, ya que extrae la dependencia transitiva de Spring-core 5.3.* . El enfoque pragmático es actualizar la versión wildfly si es posible (la última versión es 22.0.1.Final , wildfly 10.1.0.Final se lanzó hace casi 5 años el 19 de agosto de 2016) o degradar su versión de arranque de Spring a '2.3.*.RELEASE' .
Solución alternativa Siga la solución alternativa a continuación para aquellos que no pueden actualizar el servidor Wildfly pero se encuentran en la situación de usar la última versión de Spring ( 5.3.* ). El problema real es que Spring-core 5.3.x contiene la entrada del archivo MANIFEST.MF Dependencies: jdk.unsupported . Si eliminamos la entrada en particular del archivo MANIFEST.MF del contenedor, podemos usar Spring-core 5.3.x en la propia versión de Wildfly 10.X.
Para parchear el 5.3.x y llevarlo al classpath, se requieren los siguientes pasos:
7-Zip / winrar o con cualquier herramienta de utilidad de archivo de archivos. Abra MANIFEST.MF y elimine la última línea Dependencies: jdk.unsupported y guarde el cambio.libSpring-core 5.3.x a nivel de proyecto y aplique la herramienta de compilación para usar la biblioteca parcheada de Spring-core 5.3.x del directorio del proyecto y agréguela a su classpath. He proporcionado el fragmento para usuarios de gradle dependencies { //Adding the patched jar into the classpath from a project directory compile files('lib/spring-core-5.3.3.jar') } configurations.all { //Excluding the spring-core-5.3.3.jar at the project level exclude group: 'org.springframework', module: 'spring-core' }Encontré una solución mejor, basada en la creación de un nuevo módulo falso llamado jdk.unsupported en jboss o wildfly.
En mi caso, no puedo actualizar JBoss EAP 7.1 y quiero mantenerme actualizado a la última versión de Spring.
Entonces, lo que hice fue crear un nuevo módulo falso en módulos/sistema/capas/carpeta base y ¡funcionó de maravilla!
Enfrenté exactamente el mismo problema y lo resolví actualizando wildfly 10 a 20 con java 8. Mi versión de arranque de primavera era 2.4.0 Alternativamente, degradé mi versión de arranque de primavera a 1.5.8.RELEASE y pude ejecutar con éxito en wildfly 10.