java - 严重 : Missing dependency for field : private org. glassfish.jersey.server.wadl.WadlApplicationContext

标签 java web-services exception jersey jax-rs

谁能帮我..? 我正在尝试使用 JAX-RS 创建 Web 服务,但它给了我这个异常:

SEVERE: Missing dependency for field: private    org.glassfish.jersey.server.wadl.WadlApplicationContext   

org.glassfish.jersey.server.wadl.internal.WadlResource.wadlContext

这是我的java类的代码:

@Path("/DataJson")
public class Ressources {

@GET
@Produces(MediaType.APPLICATION_JSON)
public Response test(){

String result = "@Produces(\"application/json\") Output: \n\nF to C Converter Output:     \n\n TEST SUCCESFUL";

return Response.status(200).entity(result).build();
}
}

--- Web.xml 部分:

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>

</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/ws/*</url-pattern>
</servlet-mapping>

---- 使用的 jar 是:

  • javax.annotation-api-1.2.jar
  • javax.ws.rs-api-2.0.jar
  • jersey-bundle-1.17.jar
  • jersey-client-2.0.jar
  • jersey-common-2.0.jar
  • jersey-container-servlet.jar
  • jersey-multipart-1.14.jar
  • jersey-server-2.0.jar
  • json.jar
  • mimepull-1.9.jar
  • asm-3.3.1.jar

----- 这正是我遇到的异常(exception)情况:

 SEVERE: Missing dependency for field: private   org.glassfish.jersey.server.wadl.WadlApplicationContext org.glassfish.jersey.server.wadl.internal.WadlResource.wadlContext
août 23, 2013 5:30:52 PM org.apache.catalina.core.ApplicationContext log
Grave: StandardWrapper.Throwable
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
at com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:770)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:765)
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:489)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:319)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)

août 23, 2013 5:30:52 PM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Exception lors de l'allocation pour la servlet Jersey Web Application
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
at com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:770)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:765)
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:489)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:319)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)

最佳答案

似乎您缺少一个初始化参数,您在其中指定要在何处搜索带注释的 WS 资源的包。

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>package.to.your.class</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/ws/*</url-pattern>
</servlet-mapping>

关于java - 严重 : Missing dependency for field : private org. glassfish.jersey.server.wadl.WadlApplicationContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18409088/

相关文章:

c - C 中的动态数组 - 抛出异常

java - Jersey Web 服务返回 204 无内容

java - 可滑动的线性/相对布局(第 2 部分)

java - 这个 POST 请求实现有什么问题?

.net - WebMethod 响应格式

java - 找不到 Jersey REST web 服务子资源

c# - 您希望 API 如何公开错误处理?

c++ - 暂时禁用第一次机会异常

Java - 当文件中的数据超出限制时打印消息?

java - 用于具有基本身份验证的 SOAP wsdl 的 AXIS2 Java 客户端