加载程序约束冲突:解析接口方法"javax.servlet.jsp.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V"时; [英] loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V"
问题描述
在Tomcat 7中部署WAR时出现此错误.我已经使用JDeveloper 11进行了开发.
I got this error while deploying the WAR in Tomcat 7. I have carried out the development using JDeveloper 11.
"java.lang.LinkageError:违反加载程序约束:解析接口方法" javax.servlet.jsp.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V类加载程序(实例为org/apache/catalina/当前类com/sun/faces/config/ConfigureListener的加载器/WebappClassLoader和解析的类javax/servlet/jsp/JspApplicationContext的类加载器(org/apache/catalina/loader/StandardClassLoader的实例)具有不同的外观签名中使用的类型为p.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V的类对象.
"java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, com/sun/faces/config/ConfigureListener, 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 p.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V used in the signature"
我已经在Google上搜索了答案并找到了答案,但似乎没有任何解决方法.我知道这与/WEB-INF/lib
中的JAR有关,但我不知道是什么引起了错误.
I have googled for the answers and have found answers, but nothing seems to work for my problem. I understand that it is something to do with the JARs that I have in my /WEB-INF/lib
, but I don't know which causes the error.
这些是我在/WEB-INF/lib
中拥有的JAR:
These are the JARs I have in /WEB-INF/lib
:
-
adf-controller-api.jar
-
adf-controller-rt-common.jar
-
adf-controller-security.jar
-
adf-controller.jar
-
adf-dt-at-rt.jar
-
adf-richclient-api-11.jar
-
adf-richclient-impl-11.jar
-
adf-share-base.jar
-
adf-share-ca.jar
-
adf-share-security.jar
-
adf-share-support.jar
-
adf-transactions-dt.jar
-
adfdt_common.jar
-
adflibfilter.jar
-
adflogginghandler.jar
-
adfm.jar
-
adfmweb.jar
-
adfsharembean.jar
-
cache.jar
-
commons-el.jar
-
db-ca.jar
-
dvt-databindings.jar
-
dvt-faces.jar
-
dvt-facesbindings.jar
-
dvt-jclient.jar
-
dvt-trinidad.jar
-
dvt-utils.jar
-
glassfish.el_2.2.0.jar
-
glassfish.jsf_1.2.9.0.jar
-
glassfish.jstl_1.2.0.1.jar
-
groovy-all-1.6.3.jar
-
identitystore.jar
-
inspect4.jar
-
javatools-nodeps.jar
-
javax.activation_1.1.0.0_1-1.jar
-
javax.ejb_3.0.1.jar
-
javax.jsf_1.0.0.0_1-2.jar
-
javax.jsp_1.1.0.0_2-1.jar
-
javax.servlet_1.0.0.0_2-5.jar
-
jdev-cm.jar
-
jewt4.jar
-
jsp-el-api.jar
-
ojdbc14.jar
-
ojmisc.jar
-
oracle-el.jar
-
oracle-page-templates.jar
-
share.jar
-
trinidad-api.jar
-
trinidad-impl.jar
-
wls.jsf.di.jar
-
xmlparserv2.jar
adf-controller-api.jar
adf-controller-rt-common.jar
adf-controller-security.jar
adf-controller.jar
adf-dt-at-rt.jar
adf-richclient-api-11.jar
adf-richclient-impl-11.jar
adf-share-base.jar
adf-share-ca.jar
adf-share-security.jar
adf-share-support.jar
adf-transactions-dt.jar
adfdt_common.jar
adflibfilter.jar
adflogginghandler.jar
adfm.jar
adfmweb.jar
adfsharembean.jar
cache.jar
commons-el.jar
db-ca.jar
dvt-databindings.jar
dvt-faces.jar
dvt-facesbindings.jar
dvt-jclient.jar
dvt-trinidad.jar
dvt-utils.jar
glassfish.el_2.2.0.jar
glassfish.jsf_1.2.9.0.jar
glassfish.jstl_1.2.0.1.jar
groovy-all-1.6.3.jar
identitystore.jar
inspect4.jar
javatools-nodeps.jar
javax.activation_1.1.0.0_1-1.jar
javax.ejb_3.0.1.jar
javax.jsf_1.0.0.0_1-2.jar
javax.jsp_1.1.0.0_2-1.jar
javax.servlet_1.0.0.0_2-5.jar
jdev-cm.jar
jewt4.jar
jsp-el-api.jar
ojdbc14.jar
ojmisc.jar
oracle-el.jar
oracle-page-templates.jar
share.jar
trinidad-api.jar
trinidad-impl.jar
wls.jsf.di.jar
xmlparserv2.jar
我该如何解决?
推荐答案
您应该不在您的/WEB-INF/lib
中具有servlet容器特定的库.至少应该由Tomcat本身提供以下命令:
You should not have servletcontainer-specific libraries in your /WEB-INF/lib
. At least the following ones are supposed to be already provided by Tomcat itself:
-
glassfish.el_2.2.0.jar
-
javax.jsp_1.1.0.0_2-1.jar
-
javax.servlet_1.0.0.0_2-5.jar
-
jsp-el-api.jar
glassfish.el_2.2.0.jar
javax.jsp_1.1.0.0_2-1.jar
javax.servlet_1.0.0.0_2-5.jar
jsp-el-api.jar
删除它们.特殊异常是由javax.jsp_1.1.0.0_2-1.jar
引起的,它与Tomcat自己的异常不同.
Remove them. The particular exception is caused by the javax.jsp_1.1.0.0_2-1.jar
one, which is different from Tomcat's own one.
- 如何导入我的Eclipse项目中的javax.servlet API?(与JDeveloper无关,但是它应该为您提供有关如何在任何IDE中管理库的正确视图).
- How do I import the javax.servlet API in my Eclipse project? (not related to JDeveloper, but it should give you the right picture as to how to manage libraries in any IDE).
这篇关于加载程序约束冲突:解析接口方法"javax.servlet.jsp.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V"时;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!