本文介紹了Springboot WildFly 10部署錯誤jdk。找不到不支持的模塊的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有一個帶有Java 1.8的Springboot v2項目,當我嘗試在WildFly 10上部署我的Sprringboot項目時,不斷收到此錯誤
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" => undefined
我已經創建了一個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
用戶提供了代碼片段
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'
}
這篇關于Springboot WildFly 10部署錯誤jdk。找不到不支持的模塊的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,