Нарушение ограничения загрузчика: при разрешении метода интерфейса "javax.servlet.jsp.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V"
Я получил эту ошибку при развертывании WAR в Tomcat 7. Я выполнил разработку с использованием JDeveloper 11.
"java.lang.LinkageError: нарушение ограничения загрузчика: при разрешении метода интерфейса"javax.servlet.jsp.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V"загрузчик классов (экземпляр org/apache/catalina/loader/WebappClassLo)) текущего класса, com / sun / face / config / ConfigureListener и загрузчик классов (экземпляр org / apache / catalina / loader / StandardClassLoader) для разрешенного класса, javax/servlet/jsp/JspApplicationContext, имеют различные объекты класса для тип p.JspApplicationContext.addELResolver (Ljavax / el / ELResolver;) V, используемый в подписи "
Я гуглил ответы и нашел ответы, но, похоже, ничего не помогло в моей проблеме. Я понимаю, что это как-то связано с банками, которые у меня есть в моем /WEB-INF/lib
, но я не знаю, что вызывает ошибку.
Вот такие у меня банки /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
Как я могу решить это?
2 ответа
Вы не должны иметь в своем составе библиотеки, специфичные для servletcontainer. /WEB-INF/lib
, По крайней мере следующие должны быть предоставлены самим Tomcat:
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.
Смотрите также:
- Как мне импортировать API javax.servlet в мой проект Eclipse? (не относится к JDeveloper, но он должен дать вам правильное представление о том, как управлять библиотеками в любой IDE).
У меня была такая же ошибка при переносе проекта из WAS6 в WAS 7. Вот исправление:
Обновите web.xml: a. Откройте Project_name\src\main\webapp\WEB-INF\web.xml b. Добавьте следующий слушатель:
Com.sun.faces.config.ConfigureListener
с. Постройте проект и разверните его в Websphere.
Изменить порядок загрузки: a. Откройте консоль сервера приложений Websphere b. Перейдите: Приложения >> Типы приложений >> Корпоративные приложения WebSphere c. Нажмите на проект d. Нажмите "Загрузка классов и обнаружение обновлений" e. Выберите "Классы, загруженные родительским загрузчиком первым" f. Нажмите Применить
Отключить перезагрузку класса JSP a. Перейдите по ссылке: Приложения >> Типы приложений >> Корпоративные приложения WebSphere b. Нажмите на проект c. Нажмите на опции JSP и JSF d. Снимите флажок "JSP enable перезагрузка класса" e. Нажмите ОК
Изменение реализации JSF a. Перейдите по ссылке: Приложения >> Типы приложений >> Корпоративные приложения WebSphere b. Нажмите на проект c. Нажмите на опции JSP и JSF d. Выберите "MyFaces 1.2" в разделе "Реализация JSF".
Начать проект