Springboot Wildfly 10 deployment error jdk.unsupported module not found(Springboot WildFly 10部署错误jdk。找不到不支持的模块)
问题描述
我有一个带有Java 1.8的Springboot v2项目,当我尝试在WildFly 10上部署我的Sprringboot项目时,不断收到此错误
我已经创建了一个joss-ployment-structure.xml并在其中添加了";jdk.unsupport";依赖项,我还尝试将该依赖项添加到MANIFEST.MF中,还尝试在maven-war插件下添加缺少的";jdk.unsupport";依赖项,但没有成功。
推荐答案
这是由于Spring-core5.3.*
中引入的breaking change,导致上述问题的Spring-core库的变化是commit。如果您使用Spring boot版本2.4.*
,那么您肯定会面临这个问题,因为它拉出了Spring-core5.3.*
的传递依赖。务实的方法是在可能的情况下升级WildFly版本(最新版本是22.0.1.Final
,wildfly 10.1.0.Final
已于近5年前于2016年8月19日发布)或将您的Spring Boot版本降级为'2.3.*.RELEASE'
。
解决方法
对于那些无法升级WildFly服务器但处于使用最新Spring版本(5.3.*
)的用户,请遵循下面的解决方案。实际问题是Spring-core 5.3.x包含MANIFEST.MF
文件条目Dependencies: jdk.unsupported
。如果我们从JAR的MANIFEST.MF文件中删除特定条目,我们就可以使用Wildfly10.x版本本身中的Spring-core 5.3.x。
要修补5.3.x并将其拉入类路径,需要执行以下步骤:
- 作为JAR文件本身,归档使用
7-Zip
/winrar
或任何文件归档实用工具打开它。打开MANIFEST.MF
,删除最后一行Dependencies: jdk.unsupported
并保存更改。 - 将修补后的JAR文件放入您的项目文件夹,即
lib
- 在项目级别排除
Spring-core 5.3.x
,强制使用构建工具从项目目录中使用Spring-core 5.3.x
的补丁程序库,并将其添加到您的类路径中。我已经为gradle
用户提供了代码片段
这篇关于Springboot WildFly 10部署错误jdk。找不到不支持的模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!