使用Jersey的REST示例中的例外情况

时间:2012-02-11 00:25:26

标签: rest jersey

我对Jersey和REST相当新,所以我在http://jersey.java.net/nonav/documentation/latest/getting-started.html

跟踪学习路径

当我尝试在示例中运行主类时,我遇到以下异常:

线程“main”中的异常com.sun.jersey.api.container.ContainerException:ResourceConfig实例不包含任何根资源类。     at com.sun.jersey.server.impl.application.RootResourceUriRules。(RootResourceUriRules.java:99)     at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1298)     at com.sun.jersey.server.impl.application.WebApplicationImpl.access $ 700(WebApplicationImpl.java:169)     at com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:775)     at com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:771)     在com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)     at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771)     在com.sun.jersey.api.container.ContainerFactory.createContainer(ContainerFactory.java:172)     at com.sun.jersey.api.container.ContainerFactory.createContainer(ContainerFactory.java:134)     在com.sun.jersey.api.container.grizzly2.GrizzlyServerFactory.createHttpServer(GrizzlyServerFactory.java:242)     在com.vb.test.Main.startServer(Main.java:26)     在com.vb.test.Main.main(Main.java:30)

我的Main类中的第26行也是链接:

return GrizzlyServerFactory.createHttpServer(BASE_URI, rc);

1 个答案:

答案 0 :(得分:1)

此异常的原因应该是前一行(25)

ResourceConfig rc = new PackagesResourceConfig("com.sun.jersey.samples.helloworld.resources");

“com.sun.jersey.samples.helloworld.resources”是您的资源包。这是对的吗?

或者,您可以使用ClassNamesResourceConfig:

RecourceConfig rc = new ClassNamesResourceConfig(HelloWorldResource.class.getName());

有关详细信息,请参阅相关的javadoc:
http://jersey.java.net/nonav/apidocs/1.11/jersey/com/sun/jersey/api/core/PackagesResourceConfig.html
http://jersey.java.net/nonav/apidocs/1.11/jersey/com/sun/jersey/api/core/ClassNamesResourceConfig.html