2015-02-27 10:48:58,276 WARN main [AbstractLifeCycle]- FAILED Resources: java.lang.NullPointerException
java.lang.NullPointerException
at org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder.createInflector(RuntimeModelBuilder.java:128)
at org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder.createMethodRouter(RuntimeModelBuilder.java:115)
at org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder.createResourceMethodRouters(RuntimeModelBuilder.java:309)
at org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder.buildModel(RuntimeModelBuilder.java:173)
at org.glassfish.jersey.server.internal.routing.Routing$Builder.buildStage(Routing.java:196)
at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:532)
at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:166)
at org.glassfish.jersey.server.ApplicationHandler$3.run(ApplicationHandler.java:327)
at org.glassfish.jersey.internal.Errors$2.call(Errors.java:289)
at org.glassfish.jersey.internal.Errors$2.call(Errors.java:286)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:286)
at org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.java:324)
at org.glassfish.jersey.servlet.WebComponent.(WebComponent.java:336)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:388)
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:107)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:716)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:254)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1238)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:683)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:480)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
at org.eclipse.jetty.server.Server.doStart(Server.java:275)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at test.infrastructure.ApplicationHttpServer.start(ApplicationHttpServer.java:50)
at test.infrastructure.ApplicationHttpServer.start(ApplicationHttpServer.java:33)
at test.infrastructure.RunJetty.start(RunJetty.java:18)
at test.infrastructure.RunJetty.main(RunJetty.java:10)
<filter>
<filter-name>Resources</filter-name>
<filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>
<init-param>
<param-name>org.glassfish.jersey.config.server.provider.packages</param-name>
<param-value>app.web.rest</param-value>
</init-param>
</filter>
您既可以扩展应用程序类,也可以直接在web.xml中提供提供者和资源列表。
方法1:使用应用程序类
来自泽西岛文档:
Example 4.11. Configuring Jersey container Servlet or Filter to use custom Application subclass
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>org.foo.MyApplication</param-value>
</init-param>
例4.12。配置Jersey容器Servlet或过滤器以使用包扫描
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>
org.foo.myresources,org.bar.otherresources
</param-value>
</init-param>
<init-param>
<param-name>jersey.config.server.provider.scanning.recursive</param-name>
<param-value>false</param-value>
</init-param>
我的首选是使用应用程序,因为它可以用来设置其他泽西属性以及。
如果上述设置不起作用,请提供您的应用程序pom.xml和web.xml。
我正在Google应用引擎中部署一个使用Jersey的示例应用程序。然而,当我尝试对REST资源执行GET或POST时,我得到一个-404 NOT FOUND错误。看来我漏掉了什么。 REST资源代码: 我包括了以下几个罐子: Jar Jersey-Client-1.12.Jar Jersey-Core-1.12.Jar Jersey-JSON-1.12.Jar Jersey-Server-1.1
问题内容: 我是Web服务的新手,因此我从基本示例开始。这与文件上传有关。我正在为非Maven开发人员使用最新(2.17)版本的Jersey捆绑包。它指出: 捆绑包包含JAX-RS 2.0 API jar,所有核心Jersey模块jar以及所有必需的3rd-party依赖关系 。问题是我无法编译此部分: 尽管文档说确实存在,但似乎在Jersey 2.17软件包中并不存在。2.17捆绑包是否不完整?
我目前使用的是球衣 我现在要做的是设置泽西,这样当查询参数进来时(比如缩进),我可以告诉Jackson以“更漂亮的格式,也就是缩进”序列化JSON。您可以通过使用SerializationConfig.Feature.INDENT_OUTPUT配置JSON映射器来轻松地告诉Jackson这样做。 问题是,我如何在每个请求的基础上获取一个queryparam并使用它来修改Jackson的输出?
问题内容: 分析了整个互联网,但无法弄清楚为什么会发生这种情况。我有一个最简单的项目(使用jersey-quickstart- grizzly2原型),并且只有一个Jersey资源。我将Guice用作DI,因为CDI也不想与Jersey合作。问题在于,Guice在注入Jersey的资源时无法解析要使用的类。它在外面很好用,但不适用于泽西岛。这是泽西岛的资源: 传输接口: 它的实现: 遵循Googl
我决定在这部分替换Web.XML: 我指向servlet容器Jersey,它将接受对REST-Controllers的请求,表明在启动时有必要扫描路径com . skillsimprover . REST examples . REST上的包REST,并表明资源的所有方法和类的基URI都填充了/api/* 从 JAX-RS 2.x 版本开始,可以使用应用程序类或资源配置类来注册包和资源。 我执行了
问题内容: 将Jersey从1.15版本升级到1.17后,它开始记录以下消息: 产生此类消息的服务示例: 我的第一印象是将其视为错误消息,完全基于消息的措辞方式(“找不到”)。但是,它以INFO级别记录,并且在实践中似乎没有任何影响,因为所有服务都可以继续工作。 所以我的问题是这些日志消息是否表明我们配置或使用Jersey的方式存在(潜在)问题。由于以前的版本没有发生这种情况,因此我已经检查了发行