1

エラーは次のとおりです。

SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception      [Unable to compile class for JSP] with root cause
java.lang.ClassCastException: de.odysseus.el.ExpressionFactoryImpl cannot be cast to javax.el.ExpressionFactory
at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:180)
at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:107)
at org.apache.jasper.compiler.PageInfo.<init>(PageInfo.java:79)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:110)
    .....

このプロジェクトは war オーバーレイを使用しており、オーバーレイされたプロジェクトには、shindig の使用に必要な juel-impl jar があります。子プロジェクトの jsp ページで jstl を使用する方法はありますか?

4

2 に答える 2

3

クラスパスに 2 つの競合する EL API があるようです。Tomcat のものと、アプリケーションのものです。war ファイルにel-api.jarまたはを含めないでくださいjuel-api.jar。これらの依存関係を必ず除外してください。

于 2012-04-07T11:16:59.660 に答える
1

Juel 2.1.3 jar は、次の Jars juel-impl.jar、juel-spi.jar、および juel-api.jar の組み合わせです。pom に juel 2.1.3 jar を含めて tomcat 7 にデプロイしたときに、同じ問題が発生しました。

この問題は、pom から Juel 2.1.3 を削除し、juel-impl のみを追加することで解決されます。

<dependency>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-impl</artifactId>
<version>2.2.6</version>
</dependency>

<dependency> <groupId>de.odysseus.juel</groupId> <artifactId>juel-api</artifactId> <version>2.2.6</version> </dependency> も追加する必要があります

juel 2.1.3 jar には javax/el インターフェイスが含まれており、jsp-api jar の一部でもあります。

これが役立つことを願っています。

于 2014-01-30T05:05:49.683 に答える