eclipse - 为什么我收到 javax.ws.rs.WebApplicationException

标签 eclipse web-services apache-tomee

我正在尝试编写一个简单的项目。我正在使用tomee。 Tomee 工作正常,但我无法访问我的项目。当我尝试从浏览器访问我的项目时,Eclipse 控制台给出以下错误。

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)

最佳答案

如果您不指定应用程序,休息服务似乎会接管您的完整上下文,因此将下面的类添加到您的上下文中,它应该可以工作(它对我有用)。

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

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

更新

或者,为了不在您的休息网址中出现丑陋的 /rest 部分:而不是为您的主 Web 应用程序指定 urlPatterns={"/*"} (这与默认的休息应用程序冲突)您可以缩小范围,例如对于我的 vaadin 来说,到目前为止这是有效的:

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

因此,您未为主应用程序更精确指定的所有内容都将转到其余应用程序。

关于eclipse - 为什么我收到 javax.ws.rs.WebApplicationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20526674/

相关文章:

android - Cocos2d : Activity class & CCLayer class

java - clear case 插件 eclipse 的问题

c# - 是否可以在您的 web.config 中指定代理凭据?

java - Apache ActiveMQ/TomEE 帮助 : How do I configure embedded brokers to store-and-forward?

ios - 如何在导出到 Xcode 项目之前更改 Cordova 项目上的主要应用程序语言?

java - 如何解决这个问题 "Make Java8 the default system java or adjust your eclipse.ini to pass -vm pointing to your Java8 install"

java - 在java6中使用WSDL生成ws客户端

java - Java Web 服务的问题

java - 由名称为 'empty string' 的类的 ClassNotFoundException 引起的 TomEE OpenEJBException

java - CXF - 未找到类附件的消息正文阅读器