Tomcat6 linkageError для javax.el.ExpressionFactory

Я портирую приложение с tomcat7, где оно отлично работает, на tomcat6, поскольку tomcat 7 еще не поддерживается CloudBees, который является PAAS, который я рассматриваю.

Я портирую на Tomcat 6.035. Я думаю, что el-api.jar, находящийся как в моей зависимости java-ee, так и в tomcat, является моей проблемой, но я не вижу, как ее решить. Ошибка и фрагмент моего pom.xml ниже:

POM: (я думаю, это единственные 2 зависимости, связанные с el-api. Я удалил еще одну и сделал зависимость 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>

Вы правы, это действительно проблема, и способ решить ее - удалить ее из своего веб-приложения.


person Ramesh    schedule 02.09.2012    source источник


Ответы (1)


Спасибо, но мне нужно знать именно то, что мне нужно удалить, позволяя веб-приложению продолжать работу. Я уже установил предоставленный java-ee-api, и если я сделаю то же самое с javax.faces, мое приложение не будет работать в Tomcat7 (я использую это, чтобы определить изменение, которое наносит ущерб приложению). Есть ли у вас какие-то конкретные предложения?

person user207421    schedule 02.09.2012
comment
@ user1530669 Удалите el-api.jar. - person Ramesh; 02.09.2012
comment
ТЯЖЕЛАЯ: критическая ошибка во время развертывания: java.lang.LinkageError: нарушение ограничения загрузчика: при разрешении метода интерфейса "javax.servlet.jsp.JspApplicationContext.getExpressionFactory () Ljavax / el / ExpressionFactory;" загрузчик классов (экземпляр org / apache / catalina / loader / WebappClassLoader) текущего класса com / sun / faces / config / ConfigureListener и загрузчик классов (экземпляр org / apache / catalina / loader / StandardClassLoader) для разрешенных class, javax / servlet / jsp / JspApplicationContext, имеют разные объекты Class для типа javax / el / ExpressionFactory, используемые в подписи в com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp (ConfigureListener.java:695) в com.sun. Faces.config.ConfigureListener.contextInitialized (ConfigureListener.java:246) в org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:4206) в org.apache.catalina.core.StandardContext.start (StandardContext.java: 4705) в org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:799) в org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:779) в org.apache.catalina.core.StandardHost .addChild (StandardHost.java:601) в орг. apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:943) в org.apache.catalina.startup.HostConfig.deployWARs (HostConfig.java:778) в org.apache.catalina.startup.HostConfig. java: 504) на org.apache.catalina.startup.HostConfig.start (HostConfig.java:1317) на org.apache.catalina.startup.HostConfig.lifecycleEvent (HostConfig.java:324) на org.apache.catalina.util .LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:142) в org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1065) в org.apache.catalina.core.StandardHost.start (StandardHost.java:840) в org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1057) в org.apache.catalina.core.StandardEngine.start (StandardEngine.java:463) в org.apache.catalina.core.StandardService.start ( StandardService.java:525) на org.apache.catalina.core.StandardServer.start (StandardServer.java:754) на org.apache.catalina.startup.Catalina.start (Catalina.java : 595) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) в sun.reflect.DelegatingMethodAccessorImplating.invokeho. отражать. Method.invoke (Method.java:597) в org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:289) в org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:414) - person user207421; 02.09.2012