質疑応答形式を念頭に置いて、タイトルのオプションをいくつか示します。 短く要点をまとめたもの: * ClassFormatException: 定数プール内のバイト タグが無効です - その理由と修正方法 *トムキャット7

Barbara Streisand
リリース: 2024-10-27 07:46:31
オリジナル
561 人が閲覧しました

Here are a few title options, keeping in mind the question-and-answer format:

Short and to the point:

* ClassFormatException: Invalid Byte Tag in Constant Pool - Why and How to Fix it?
* Tomcat 7 and Java 8: ClassFormatException - How to Resolve?

More

ClassFormatException: 定数プール内のバイト タグが無効です

背景:

Web の移植中Tomcat 7 から、同じ Tomcat バージョンで Java 8 を使用する別のサーバーにアプリケーションを送信すると、Tomcat は正常に起動しましたが、catalina.out ログにエラーが生成されたことが観察されました:

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

原因:

このエラーは、Tomcat で使用されるバイトコード エンジニアリング ライブラリ (BCEL) の問題が原因で、新しい Java 8 バイト コードの処理で問題が発生したことが原因です。

解決策 1: 無効にする注釈スキャン

web.xml で注釈スキャンが有効になっている場合 (metadata-complete="true")、それを無効にすると、エラーが発生することなくアプリケーションを実行できるようになります。

解決策 2: Tomcat 7.0.53 以降に更新する

Tomcat 7.0.53 以降、コンパイラは更新され、Java 8 サポートが強化されました。この更新により、注釈スキャンと非 Java 8 コードを使用するアプリケーションの問題が解決されました。

解決策 3: 特定の Jar ファイルをスキップする

注釈スキャンが必要な状況と、アプリケーションは Java 8 コードを利用しており、次の行を catalina.properties に追加します:

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

注釈スキャン中にこれらの Jar ファイルをスキップします。

以上が質疑応答形式を念頭に置いて、タイトルのオプションをいくつか示します。 短く要点をまとめたもの: * ClassFormatException: 定数プール内のバイト タグが無効です - その理由と修正方法 *トムキャット7の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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