簡體   English   中英

無法將裸骨 webapp 部署到運行 openjdk 11 的 tomee 7.1.0

[英]Fail to deploy bare bone webapp to tomee 7.1.0 running openjdk 11

我打算將一個 webapp 從 java 8/tomee 7.0.4 遷移到 java 11/tomee 7.1.0,但仍然沒有成功。 所以我編寫了一個只有一個 facelet 頁面和一個托管 bean 的准系統 web 應用程序。 這適用於 java 10/tomee 7.1.0 但不適用於 java 11。錯誤是:

java.lang.IllegalStateException: Cannot get Unsafe.defineClass
....
java.lang.NoSuchMethodException: sun.misc.Unsafe.defineClass(java.lang.String, [B, int, int, java.lang.ClassLoader, java.security.ProtectionDomain)

經過一番谷歌搜索,從http://tomee-openejb.979440.n4.nabble.com/Some-jars-in-TomEE-8-SNAPSHOT-are-not-Java-11-compatible-td4685162.html看來,問題源於 jaxb-impl。 所以我嘗試根據https://winterbe.com/posts/2018/08/29/migrate-maven-projects-to-java-11-jigsaw/添加到 pom.xml 失敗。 我恢復了 pom.xml 並根據Java 11 包修改了javax.xml.bind 不存在,這也失敗了。

這是針對不太流行的 tomee 服務器。 但是 tomee 7.1.0 基於 tomcat 8.5,它應該更受歡迎。 我認為問題仍然是一樣的。

感謝您的建議,我認為很多人應該有同樣的問題。

嘗試將您的 tomcat/tomee 升級到最新版本,或者降級您的 Java 版本,因為不兼容的版本往往會觸發這些NoSuchMethod/NoSuchFile異常。

可能是一種技術依賴於某種其他技術,並且知道某個 API 版本,但您正在嘗試使用更高的 API 版本,這可能完全不同。

另一種可能性是 tomee 還沒有准備好使用 java 11(但這似乎不太可能)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM