[解決済み] loader constraint violation [duplicate] (ローダー制約違反)。
質問
同じ.jar(私の場合はel-api.jar v2.1)が1つのプロジェクトに2つあるという問題に遭遇し、Tomcat 6を使ってプロジェクトを実行しようとすると、以下のエラースタックが表示されます。
WARNING: Unexpected error forwarding to login page
javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/login_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/login_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
を発見しました。 http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/
しかし、この解決策は私のプロジェクトの多くの部分に影響を与えるため、役に立ちません。
このプロジェクトは他の多くのユーザーが使用するため、Tomcatにも変更を加えることができません。
現在の対処法は、Tomcat6を使用してビルドするたびに、el-api.jarを手動で削除することです。その後、他のもののために要求される.jarを戻す必要があります。
Maven 2とMaven 3を使ってビルドしています。(ところで、JrubyでMaven3を使うことについて知っている人はいますか?)
この問題について、どなたか教えてください。
解決方法を教えてください。
<ブロッククオート同じ.jar(私の場合はel-api.jar v2.1)が1つのプロジェクトに2つあるため、Tomcat 6を使ってプロジェクトを実行しようとすると、以下のエラースタックが発生する問題が発生しました。
次に、el-api.jar のアーティファクトを次のようにマークします。
provided
である場合は、そのようにします。
現在の対処法は、Tomcat6を使用するビルドを行うたびにel-api.jarを手動で削除することです。その後、他のもののために要求される.jarを戻す必要があります。
これを処理するもっと良い方法は、プロファイルの中で依存関係を宣言し、それを
provided
(例えば、"tomcat6" プロファイルの場合) 必要に応じて、そうするかしないかを選択します。
関連
-
[解決済み】エラー:'if'のない'else'エラー
-
[解決済み】このコンパイルユニットは名前付きモジュールに関連しているため、名前付きパッケージeclipseを宣言する必要があります。
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み】Javaの".class期待値"
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み】Javaを使用するSelenium - ドライバの実行ファイルのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。
-
[解決済み】文字列中の � を置換する方法
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み] StringBuilderをクリアまたは空にするにはどうすればよいですか?重複] [重複] [重複] [重複] [重複] [重複
-
[解決済み】 executeQuery()でデータ操作文が発行できない。)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android java.lang.IllegalStateException: Android java.lang.IllegalStateException: Could not execute method of the activity
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み】エラー「No enclosing instance of type Foo is accessible」の原因と修正方法について教えてください。
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】JLabelのテキストを中央に配置するには?
-
[解決済み] java.sql.SQLException を取得しました。ResultSet が終了した後の操作は許可されません。
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み】Java: GZIPInputStreamの作成に失敗しました。GZIP形式ではありません