ホームページ >Java >&#&チュートリアル >Java 8 を搭載した Tomcat 7 で「定数プール内のバイト タグが無効です: 15」という例外が発生するのはなぜですか?
Java 8 を使用した Tomcat 7 での「定数プールの無効なバイト タグ: 15」例外
Tomcat 7 は Java 8 と正式に互換性があります。ただし、Web アプリケーションを Java 6 を使用した Tomcat 7 から Java 8 を使用した別の Tomcat 7 サーバーに移行する場合、ユーザーは次の例外に遭遇する可能性があります:
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15
考えられる原因
この例外は、Java 8 を使用した Tomcat 7 の BCEL (バイト コード エンジニアリング ライブラリ) の問題が原因で発生します。BCEL は、特に注釈スキャンが有効になっている場合 (web.xml でmetadata-complete="true") に、新しい Java 8 バイト コードの処理に問題が発生します。 ).
解決策
注釈スキャンなし:
注釈スキャンが利用されていない場合、問題は次の方法で解決できます。 Tomcat 7 をリリース 7.0.53 以降に更新すると、Java 8 サポートが強化された更新されたコンパイラが含まれます。
注釈スキャン:
注釈スキャンが有効になっている場合、 2 つの選択肢があります:
junit.jar,junit-*.jar,ant-launcher.jar,\ jfxrt.jar,nashorn.jar
This指定されたライブラリのスキャンをスキップするように Tomcat に指示します。
追加メモ:
以上がJava 8 を搭載した Tomcat 7 で「定数プール内のバイト タグが無効です: 15」という例外が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。