Java 8 にアップグレードするときに Tomcat 7 で「無効なバイト タグ例外」を修正するにはどうすればよいですか?

DDD
リリース: 2024-10-28 15:26:02
オリジナル
778 人が閲覧しました

 How to Fix

Java 8 を使用した Tomcat 7 での無効なバイト タグ例外

Web アプリケーションを Tomcat 7 および Java 7 から Tomcat を実行している別のサーバーに移植する場合7 および Java 8 では、起動中にエラーが発生する場合があります:

org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
ログイン後にコピー

この例外は、Tomcat で使用される Java バイトコード エンジニアリング ライブラリである BCEL に起因します。特に、アノテーション スキャン (web.xml でmetadata-complete="true" を使用) は、BCEL が特定の Java 8 バイト コードを処理できないために問題を引き起こす可能性があります。

解決策:

1.注釈スキャンの無効化:

注釈スキャンが必須ではない場合は、web.xml で metadata-complete="false" を設定することで無効にできます。

2. Tomcat 7.0.53 以降:

Tomcat 7.0.53 以降のリリースには、Java 8 サポートが強化された更新されたコンパイラーが含まれています。これらのバージョンにアップグレードすると、例外が解決されるはずです。

3.注釈スキャンの Java 8 JAR をスキップする (上級):

注釈スキャンが必要で、Web アプリケーションが Java 8 ベースではない場合は、次の行を /etc/tomcat7/catalina.properties に追加します。

junit.jar,junit-*.jar,ant-launcher.jar,\jfxrt.jar,nashorn.jar
ログイン後にコピー

この行は、注釈スキャン中に特定の Java 8 JAR を無視するように Tomcat に指示します。

以上がJava 8 にアップグレードするときに Tomcat 7 で「無効なバイト タグ例外」を修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!