Нарушение ограничения загрузчика: при разрешении метода интерфейса "javax.servlet.jsp.JspApplicationContext.addELResolver (Ljavax / el / ELResolver;) V" - PullRequest
0 голосов
/ 05 января 2012

Я получил эту ошибку при развертывании WAR в Tomcat 7. Я выполнил разработку с использованием JDeveloper 11.

"java.lang.LinkageError: нарушение ограничения загрузчика: при разрешении метода интерфейса" javax.servlet.jsp.JspApplicationContext.addELResolver (Ljavax / el / ELResolver;) V "загрузчик классов (экземпляр org / apache / catalina / loader / WebappClassLoader) текущего класса, com / sun / face / config / ConfigureListener и загрузчик классов (экземпляр org / apache / catalina / loader / StandardClassLoader) для разрешенного класса, javax / servlet / jsp / JspApplicationContext, имеют разные Объекты класса для типа p.JspApplicationContext.addELResolver (Ljavax / el / ELResolver;) V, используемого в подписи "

Я гуглил ответы и нашел ответы, но, похоже, ничего не помогло в моей проблеме. Я понимаю, что это как-то связано с файлами JAR, которые есть в моем /WEB-INF/lib, но я не знаю, что вызывает ошибку.

Это те JAR, которые у меня есть в /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 ]

1 голос
/ 17 июля 2012

У меня была такая же ошибка при переносе проекта из WAS6 в WAS 7. Вот исправление:

  1. Обновление web.xml: a.Откройте Project_name \ src \ main \ webapp \ WEB-INF \ web.xml b.Добавьте следующий слушатель:

    Com.sun.faces.config.ConfigureListener

c.Постройте проект и разверните его в Websphere

  1. Изменить порядок загрузки: a.Откройте консоль сервера приложений Websphere b.Перейдите: Приложения >> Типы приложений >> Корпоративные приложения WebSphere c.Нажмите на проект d.Нажмите «Загрузка классов и обнаружение обновлений» e.Выберите «Классы, загруженные родительским загрузчиком первым» f.Нажмите Применить

  2. Отключить перезагрузку класса JSP a.Перейдите по ссылке: Приложения >> Типы приложений >> Корпоративные приложения WebSphere b.Нажмите на проект c.Нажмите на опции JSP и JSF d.Снимите флажок «JSP enable перезагрузка класса» e.Нажмите OK

  3. Изменить реализацию JSF a.Перейдите по ссылке: Приложения >> Типы приложений >> Корпоративные приложения WebSphere b.Нажмите на проект c.Нажмите на опции JSP и JSF d.Выберите «MyFaces 1.2» в разделе «Реализация JSF»

  4. Запустите проект

1 голос
/ 05 января 2012

Вы должны , а не иметь библиотеки, зависящие от 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.

Смотри также:

...