Tomcat 7 は、私が検討している PAAS である CloudBees によってまだサポートされていないため、問題なく動作する tomcat7 から tomcat6 にアプリケーションを移植しています。
私はTomcat 6.035に移植しています。私のjava-ee依存関係とtomcatの両方にあるel-api.jarが私の問題だと思いますが、それを解決する方法がわかりません。エラーと私の pom.xml のフラグメントを以下に示します。
POM: (el-api に関連する依存関係は 2 つだけだと思います。別のものを削除し、java-ee 依存関係のスコープを「提供済み」にしました。
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.1.11</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
SEVERE: デプロイメント中に重大なエラーが発生しました: java.lang.LinkageError: ローダー制約違反: インターフェイス メソッド "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" を解決するとき 現在のクラス com/sun/faces/config/ConfigureListener のクラス ローダー (org/apache/catalina/loader/WebappClassLoader のインスタンス)、および解決済みのクラス ローダー (org/apache/catalina/loader/StandardClassLoader のインスタンス)クラス、javax/servlet/jsp/JspApplicationContext には、com.sun の com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp(ConfigureListener.java:695) の署名で使用されるタイプ javax/el/ExpressionFactory の異なるクラス オブジェクトがあります。 org.apache.catalina.core.StandardContext の faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:246)。