2

重複の可能性:
org.apache.jasper.el.E​​LContextImplをorg.apache.jasper.runtime.ELContextImplにキャストできません

Webサービスプロジェクト(jspページを含む)をEclipseからwarファイルにエクスポートし、Jetty8.1.5にデプロイします。私のマシンでは問題なく動作します。しかし、同じwarファイルを別のマシン(Windows Server 2003)のJetty 8.1.3にデプロイした後、index.jspページに移動すると、HTTPエラー500と次の例外が発生します。

org.apache.jasper.el.ELContextImpl cannot be cast to org.apache.jasper.runtime.ELContextImpl

2日前に投稿したこの質問の完全なトレースと詳細。私が持っているすべての瓶WEB_INF/libはこれらの2つのスクリーンショットで提供されています:

ここに画像の説明を入力してください ここに画像の説明を入力してください

インターネットで解決策を2日間調べた結果、問題の原因は、warファイルで出荷されたjarファイルと他のjarファイル(突堤のjarファイル)との競合が原因であることがわかりました。

問題は、どのjarが問題を引き起こしているのかをどのように見つけることができるかということです。これらのjarファイルの内容を参照してクラスを探してみましたElContextImplが、何も見つかりませんでしたか?何かご意見は?


編集:

ローカルのJetty8.1.5全体をサーバーにコピーし、そこから桟橋を設定してみましたが、それでも成功しませんでした。

4

1 に答える 1

1

WAR ファイルにservlet-api-2.4.jarは、Jetty インストールの一部である必要がある (別のバージョンの可能性がある) などの不要な JAR が含まれています。

一見すると、、、をすべて削除する必要がjetty-*.jarありservlet-api-2.4.jarますjavax.servlet.*.jar。これらを 8.1.5 Jetty インストールから取得した場合、8.1.3 インストールと競合する可能性があります。

于 2012-09-13T15:29:36.537 に答える