首頁 > Java > java教程 > 主體

為什麼我在使用 Java 8 的 Tomcat 7 中收到「常數池中的無效位元組標記:15」異常?

Linda Hamilton
發布: 2024-10-27 08:40:03
原創
1010 人瀏覽過

Why am I Getting

Tomcat 7 與Java 8 中的「常數池中的無效位元組標記:15」異常

Tomcat 7 正式與Java 8相容。但是,當將Web 應用程式從使用Java 6 的Tomcat 7 遷移到另一個使用Java 8 的Tomcat 7 伺服器時,使用者可能會遇到以下例外:

可能的原因

出現此異常是由於帶有Java 8 的Tomcat 7 中的BCEL(字節碼工程庫)問題。 BCEL 在處理新的Java 8 字節碼時遇到困難,尤其是在啟用註釋掃描時(web.xml 中的metadata-complete=“true”) ).

解決方案

無註解掃描:

如果不使用註解掃描,可以透過以下方式解決問題將Tomcat 7 更新至版本7.0.53 或更高版本,其中包括具有改進的Java 8 支援的更新編譯器。

註解掃描:

啟用註解掃描時,有兩種選擇:

  • 排除問題庫:將以下行加入/etc/tomcat7/catalina.properties:
此將指示Tomcat 跳過掃描指定的庫。

  • 停用註解掃描:從web.xml 中刪除「metadata-complete=」true」以停用註解掃描。

附加說明:

    這個特定問題是在Debian 7.6 上使用Oracle JDK 8_25 的Tomcat 7.0.28 出現的。的回答”仍然有效。但是,啟用註釋掃描時可能會出現 BCEL 問題。

以上是為什麼我在使用 Java 8 的 Tomcat 7 中收到「常數池中的無效位元組標記:15」異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板