Java 8 升級導致第三方工具不兼容
據開發者透露,Java 8的***更新版本update 11導致了一些第三方工具不兼容問題。
其中受影響的工具包括JavaEE開發工具JRebel、Java字節碼操作庫Javassist、依賴注入框架Google Guice、代碼覆蓋工具Jacoco等,此外,Groovy編程語言也被報告不兼容。目前甲骨文公司已經證實了這個bug。
該bug似乎由Java 8u11中的JVM字節碼驗證子系統發生變化而導致的。Java語言要求任何調用超類構造函數必須在***次調用時進行,但Java早期版本中的字節碼驗證器并沒有強制去驗證,甲骨文公司開始考慮解決這一問題,但目前來看似乎影響了一些第三方工具。
甲骨文公司目前還沒有公布修復日期,目前為止唯一的解決辦法是使用-noverify參數,或者先不要升級Java版本,等甲骨文修復后再升級。目前也有一些第三方工具通過升級解決了這一問題,比如JRebel 5.6.1***版。