1

WAS 7では、単一のWARを含むEARをデプロイしました。EARクラスローディングモードはに設定されPARENT_LAST、WARクラスローディングモードもに設定されPARENT_LASTます。WAR/WEB-INF/libには、Mojarra JSF2RIとUnifiedEL2.1jarがあります。

これらすべてにもかかわらず、アプリケーションが起動すると、組み込みのMyFaces1.2からいくつかのMyFacesのものを読み込もうとします。WARクラスローダーのクラスローダービューアは明確に表示されます

「org.apache.myfaces.webapp.StartupServletContextListener」は、起動時にbase_v7 / plugins/org.apache.myfaces1_2.jarからロードされます。

少年、それはクレイジーです..他の多くのものが他の場所からも拾われて、クラスの大きな汚い混乱を作成します:

「com/ibm / ws / classloader / CompoundClassLoader @ 116a116a」は、ローダー「org / eclipse / osgi / internal / baseadaptor / DefaultClassLoader@2a502a50」によって定義された「javax/el/ExpressionFactory」という名前の別のタイプのロードを以前に開始しました

ここで何がうまくいかないのか分かりますか?

4

2 に答える 2

2

とった..

まず、web.xmlでこのcontext-paramを設定すると、ExpressionFactoryでクラスローダーが競合することなくアプリケーションが正常に動作します。

    <context-param>
        <param-name> com.sun.faces.expressionFactory </ param-name>
        <param-value> com.sun.el.E​​xpressionFactoryImpl </ param-value>
    </ context-param>

http://ocpsoft.com/java/jsf2-java/jsf2-how-to-add-the-magic-of-el-el2-to-jsf/

そして、MyFaces StartupServletContextListenerの場合..起動時にロードされても害があるかどうかはわかりません..少なくとも、今までそこにあることに問題はありませんでした。

于 2010-07-09T16:25:16.063 に答える
0

SpringMVCで同じタイプのエラーが発生しました。WEB-INF / libからjsp-api-2.1.jarを削除したところ、機能しています。あなたはからより多くの情報を得ることができます

http://forum.springsource.org/showthread.php?73991-Getting-Linkage-error-while-trying-to-show-the-error-set-in-controller

JSFを知りません。私が直面した問題を共有するだけです。

于 2012-02-01T11:27:43.970 に答える