2013-12-11 1 views
1

간단한 프로젝트를 코딩하려고합니다. tomee을 사용하고 있습니다. Tomee는 잘 작동하지만 프로젝트에 도달 할 수 없습니다. 브라우저에서 프로젝트를 실행하려고하면 Eclipse 콘솔에서 다음과 같은 오류가 발생합니다.왜 javax.ws.rs.WebApplicationException이 발생합니까?

INFO: Server startup in 1661 ms 
Dec 11, 2013 7:59:15 PM org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor processRequest 
WARNING: No root resource matching request path has been found, Relative Path: /. Please enable FINE/TRACE log level for more details. 
Dec 11, 2013 7:59:15 PM org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse 
WARNING: javax.ws.rs.WebApplicationException 
    at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:162) 
    at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:91) 
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262) 
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) 
    at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:237) 
    at org.apache.openejb.server.cxf.rs.CxfRsHttpListener.onMessage(CxfRsHttpListener.java:170) 
    at org.apache.openejb.server.rest.RsServlet.service(RsServlet.java:53) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:744) 

답변

1

당신이 응용 프로그램을 지정하므로 상황에 아래의 클래스를 추가하고 일을해야하지 않을 경우 나머지 서비스는 사용자의 전체 맥락을 통해 (그것은 나를 위해 일한)이 걸릴 것으로 보인다.

@ApplicationPath("/rest") 
public class ApplicationConfig extends Application { 
} 

http://openejb.979440.n4.nabble.com/No-root-resource-matching-request-path-td4666495.html

UPDATE 당신의 나머지 URL을의 추악한 /rest 부분을 가지고 있지 위해 또는

대신 기본 나머지와 충돌하는 (주 웹 응용 프로그램에 대해 urlPatterns={"/*"}를 지정 응용 프로그램)을 좁힐 수 있습니다. 내 경우에는 만약 angel이 지금까지 노력하고 있습니다 :

@WebServlet(urlPatterns = {"", "/VAADIN/*", "/UIDL/*", "/HEARTBEAT/*"} 

따라서 모든 것을 당신이 주요 앱 더 정확하게 지정하지 않은 나머지 응용 프로그램으로 이동합니다.

관련 문제