2015-05-13 3 views
0

Вот мой JAX-RS джерси Пример-код:JAX-RS Джерси простой пример работает на стандартной Tomcat 8, но не TomEE 1.7.1

HelloRest.java:

package com.test.rest; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 

@Path("/hello") 
public class HelloRest { 
    @GET 
    @Produces("text/plain") 
    public String getHelloWorld() { 
     return "Hello World!"; 
    } 
} 

RestApplicationConfig.java:

package com.test.rest; 

import com.sun.jersey.api.core.PackagesResourceConfig; 

import javax.ws.rs.ApplicationPath; 

@ApplicationPath("/rest") 
public class RestApplicationConfig extends PackagesResourceConfig { 
    public RestApplicationConfig() { 
     super("com.test.rest"); 
    } 
} 

Gradle зависимость:

compile 'com.sun.jersey:jersey-servlet:1.19' 

Когда я запускаю стандартный tomcat 8 и развертываю приложение, он отлично работает.

Но когда я делаю то же самое со стандартной TomEE Webprofile получить сообщение об ошибке при доступе к странному/отдыху/привет:

javax.servlet.ServletException: Servlet.init() for servlet com.test.rest.RestApplicationConfig threw exception 
    org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) 
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 
root cause 

java.lang.RuntimeException: javax.naming.NameNotFoundException: Name [com] is not bound in this Context. Unable to find [com]. 
    com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:182) 
    com.sun.jersey.server.impl.cdi.CDIComponentProviderFactory.<init>(CDIComponentProviderFactory.java:95) 
    com.sun.jersey.server.impl.cdi.CDIComponentProviderFactoryInitializer.initialize(CDIComponentProviderFactoryInitializer.java:76) 
    com.sun.jersey.spi.container.servlet.WebComponent.configure(WebComponent.java:572) 
    com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.configure(ServletContainer.java:332) 
    com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:604) 
    com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) 
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) 
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577) 
    javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) 
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 
root cause 

javax.naming.NameNotFoundException: Name [com] is not bound in this Context. Unable to find [com]. 
    org.apache.naming.NamingContext.lookup(NamingContext.java:819) 
    org.apache.naming.NamingContext.lookup(NamingContext.java:167) 
    org.apache.naming.SelectorContext.lookup(SelectorContext.java:156) 
    javax.naming.InitialContext.lookup(InitialContext.java:417) 
    com.sun.jersey.server.impl.cdi.CDIExtension$2.stepInto(CDIExtension.java:295) 
    com.sun.jersey.server.impl.cdi.CDIExtension.diveIntoJNDIContext(CDIExtension.java:272) 
    com.sun.jersey.server.impl.cdi.CDIExtension.lookupJerseyConfigJNDIContext(CDIExtension.java:292) 
    com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:180) 
    com.sun.jersey.server.impl.cdi.CDIComponentProviderFactory.<init>(CDIComponentProviderFactory.java:95) 
    com.sun.jersey.server.impl.cdi.CDIComponentProviderFactoryInitializer.initialize(CDIComponentProviderFactoryInitializer.java:76) 
    com.sun.jersey.spi.container.servlet.WebComponent.configure(WebComponent.java:572) 
    com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.configure(ServletContainer.java:332) 
    com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:604) 
    com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207) 
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394) 
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577) 
    javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) 
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) 
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    java.lang.Thread.run(Thread.java:745) 

Любой идее?

+0

http://stackoverflow.com/questions/21087670/how-can-i-integrate-jersey-with-tomee – Filip

+0

не работает для меня – Subby

ответ

Смежные вопросы