2016-11-11 5 views
1

Я создал два проекта сервлетов Джерси, используя com.sun.jersey.spi.spring.container.servlet.SpringServlet. Я использую jersey 1.19.1 jars. Оба проекта имеют зависимые баночки в папке lib. Я развернул оба проекта на сервере «Свобода 9».
Когда я пытаюсь получить доступ к конечным точкам, один проект работает нормально, но не другой. У меня ниже исключения в консоли, если второй проект не работает. Если я перезапущу только этот проект (а не сервер), он работает. Я не знаю, почему, и я пытаюсь найти постоянное решение для этого.javax.naming.NameNotFoundException: CDIExtension

SRVE0271E: Uncaught инициализации() исключение создан сервлет [Джерси-сервлета] в применении [secondproject]: java.lang.RuntimeException: javax.naming.NameNotFoundException: CDIExtension

SRVE0315E: Произошла исключение: java.lang.Throwable: javax.servlet.ServletException: SRVE0207E: Uncaught исключением инициализации создан сервлет

Если первый проект не работает, я вижу под исключение в консоли.

SRVE0271E: исключение init(), созданное сервлетом [jersey-servlet] в приложении [firstproject]: java.lang.ClassCastException: com.sun.jersey.server.impl.cdi.CDIExtension несовместимо с com.sun. jersey.server.impl.cdi.CDIExtension

SRVE0276E: Ошибка при инициализации Servlet [джерси-сервлет]: javax.servlet.ServletException: SRVE0207E: неперехваченным исключение инициализации созданного сервлета

Обновление с полным стеком:

java.lang.RuntimeException: javax.naming.NameNotFoundException: CDIExtension 
     at com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:183) 
     at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactory.<init>(CDIComponentProviderFactory.java:95) 
     at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactoryInitializer.initialize(CDIComponentProviderFactoryInitializer.java:76) 
     at com.sun.jersey.spi.container.servlet.WebComponent.configure(WebComponent.java:572) 
     at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.configure(ServletContainer.java:332) 
     at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:604) 
     at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) 
     at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) 
     at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577) 
     at javax.servlet.GenericServlet.init(GenericServlet.java:244) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:332) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck(ServletWrapper.java:1428) 
     at com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions(WebApp.java:1181) 
     at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally(WebApp.java:1149) 
     at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:1055) 
     at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:6499) 
     at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApp(DynamicVirtualHost.java:446) 
     at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.createRunnableHandler(DynamicVirtualHost.java:248) 
     at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.createRunnableHandler(DynamicVirtualHost.java:313) 
     at com.ibm.ws.http.internal.VirtualHostImpl.discriminate(VirtualHostImpl.java:251) 
     at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.ready(HttpDispatcherLink.java:300) 
     at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:471) 
     at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleNewRequest(HttpInboundLink.java:405) 
     at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.processRequest(HttpInboundLink.java:285) 
     at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.ready(HttpInboundLink.java:256) 
     at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:174) 
     at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:83) 
     at com.ibm.ws.tcpchannel.internal.WorkQueueManager.requestComplete(WorkQueueManager.java:504) 
     at com.ibm.ws.tcpchannel.internal.WorkQueueManager.attemptIO(WorkQueueManager.java:574) 
     at com.ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(WorkQueueManager.java:929) 
     at com.ibm.ws.tcpchannel.internal.WorkQueueManager$Worker.run(WorkQueueManager.java:1018) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
     at java.lang.Thread.run(Thread.java:785) 
    Caused by: javax.naming.NameNotFoundException: CDIExtension 
     at com.ibm.ws.jndi.internal.ContextNode.lookup(ContextNode.java:218) 
     at com.ibm.ws.jndi.internal.WSContext.lookup(WSContext.java:297) 
     at com.ibm.ws.jndi.WSContextBase.lookup(WSContextBase.java:62) 
     at com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:181) 
     ... 33 more 




Caused by: java.lang.ClassCastException: com.sun.jersey.server.impl.cdi.CDIExtension incompatible with com.sun.jersey.server.impl.cdi.CDIExtension 
    at com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:181) 
    at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactory.<init>(CDIComponentProviderFactory.java:95) 
    at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactoryInitializer.initialize(CDIComponentProviderFactoryInitializer.java:76) 
    at com.sun.jersey.spi.container.servlet.WebComponent.configure(WebComponent.java:572) 
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.configure(ServletContainer.java:332) 
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:604) 
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:244) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:332) 
    ... 1 more 
+0

Обеспечьте полную трассировку стека. – Gas

+0

Я просто получаю эти две строки в консоли. – Raja

+0

полная трассировка стека включена ниже – Raja

ответ

0

I n бревна вы можете увидеть:

Caused by: java.lang.ClassCastException: com.sun.jersey.server.impl.cdi.CDIExtension incompatible with com.sun.jersey.server.impl.cdi.CDIExtension 

Liberty использует Джерси как поставщик JAX-RS, поэтому у вас есть конфликт. Вам либо нужно удалить эти банки из приложения, либо убедиться, что функция JAX-RS не включена явно или неявно на ваш сервер. Xml