java - The ResourceConfig instance does not contain any root resource classes. (Guice+Jersey+Jboss) -
i trying port rest-app jboss (guice 3.0 + jersey 1.19 on jboss 7), works charm on tomcat 7, stumbling on same resource-config-exception on jboss 7:
exception starting filter guicefilter: com.sun.jersey.api.container.containerexception: resourceconfig instance not contain root resource classes. @ com.sun.jersey.server.impl.application.rootresourceurirules.<init>(rootresourceurirules.java:99) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.server.impl.application.webapplicationimpl._initiate(webapplicationimpl.java:1359) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.server.impl.application.webapplicationimpl.access$700(webapplicationimpl.java:180) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.server.impl.application.webapplicationimpl$13.f(webapplicationimpl.java:799) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.server.impl.application.webapplicationimpl$13.f(webapplicationimpl.java:795) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.spi.inject.errors.processwitherrors(errors.java:193) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.server.impl.application.webapplicationimpl.initiate(webapplicationimpl.java:795) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.guice.spi.container.servlet.guicecontainer.initiate(guicecontainer.java:121) [jersey-guice-1.19.jar:1.19] @ com.sun.jersey.spi.container.servlet.servletcontainer$internalwebcomponent.initiate(servletcontainer.java:339) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.spi.container.servlet.webcomponent.load(webcomponent.java:605) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.spi.container.servlet.webcomponent.init(webcomponent.java:207) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.spi.container.servlet.servletcontainer.init(servletcontainer.java:394) [jersey-bundle-1.19.jar:1.19] @ com.sun.jersey.spi.container.servlet.servletcontainer.init(servletcontainer.java:577) [jersey-bundle-1.19.jar:1.19] @ javax.servlet.genericservlet.init(genericservlet.java:242) [jboss-servlet-api_3.0_spec-1.0.0.final.jar:1.0.0.final] @ com.google.inject.servlet.servletdefinition.init(servletdefinition.java:117) [guice-servlet-3.0.jar:] @ com.google.inject.servlet.managedservletpipeline.init(managedservletpipeline.java:82) [guice-servlet-3.0.jar:] @ com.google.inject.servlet.managedfilterpipeline.initpipeline(managedfilterpipeline.java:102) [guice-servlet-3.0.jar:] @ com.google.inject.servlet.guicefilter.init(guicefilter.java:172) [guice-servlet-3.0.jar:] @ org.apache.catalina.core.applicationfilterconfig.getfilter(applicationfilterconfig.java:447) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.core.standardcontext.filterstart(standardcontext.java:3269) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.core.standardcontext.start(standardcontext.java:3865) [jbossweb-7.0.13.final.jar:] @ org.jboss.as.web.deployment.webdeploymentservice.start(webdeploymentservice.java:90) [jboss-as-web-7.1.1.final.jar:7.1.1.final] @ org.jboss.msc.service.servicecontrollerimpl$starttask.startservice(servicecontrollerimpl.java:1811) @ org.jboss.msc.service.servicecontrollerimpl$starttask.run(servicecontrollerimpl.java:1746) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145) [rt.jar:1.7.0_72] @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615) [rt.jar:1.7.0_72] @ java.lang.thread.run(thread.java:745) [rt.jar:1.7.0_72] my web.xml looks this:
<?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>mylitterestservice</display-name> <listener> <listener-class>com.restapp.guice.guicelistener</listener-class> </listener> <filter> <filter-name>guicefilter</filter-name> <filter-class>com.google.inject.servlet.guicefilter</filter-class> </filter> <filter-mapping> <filter-name>guicefilter</filter-name> <url-pattern>/api/*</url-pattern> </filter-mapping> an guicelistener:
public class guicelistener extends guiceservletcontextlistener { @override protected injector getinjector() { return guice.createinjector(new servletmodule() { @override protected void configureservlets() { resourceconfig rc = new packagesresourceconfig( "com.restapp"); (class<?> resource : rc.getclasses()) { bind(resource); } serve("/api/*").with(guicecontainer.class); } }); } } i tried solution described in the resourceconfig instance not contain root resource classes nothing seems work.
any ideas doing wrong here?
Comments
Post a Comment