我对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);
答案 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