本文介紹了JDK11升級失敗-ClassNotFoundException jdk.inder.ref.Cleaner的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我已將Java EE應(yīng)用程序從JDK 8升級到JDK 11。但在部署到JBoss EAP 7.3服務(wù)器時,出現(xiàn)以下異常。
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: jdk.internal.ref.Cleaner from [Module "deployment.DFNNTPOMS_X_X_3.003.000.00.0.ear" from Service Module Loader]
at deployment.DFNNTPOMS_X_X_3.003.000.00.0.ear//net.openhft.chronicle.hash.impl.util.CleanerUtils.<clinit>(CleanerUtils.java:42)
... 63 more
Caused by: java.lang.ClassNotFoundException: jdk.internal.ref.Cleaner from [Module "deployment.DFNNTPOMS_X_X_3.003.000.00.0.ear" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at deployment.DFNNTPOMS_X_X_3.003.000.00.0.ear//net.openhft.chronicle.hash.impl.util.CleanerUtils.<clinit>(CleanerUtils.java:35)
... 63 more
有解決方案嗎?
推薦答案
您的代碼應(yīng)該使用java.lang.ref.Cleaner
而不是jdk.internal.ref.Cleaner
。后者在Java 9中被刪除:
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8149925
如果";Internal";Cleaner
類的使用實(shí)際上來自第三方庫代碼,則需要將庫升級到Java 11兼容版本。
這篇關(guān)于JDK11升級失敗-ClassNotFoundException jdk.inder.ref.Cleaner的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,