Java Guice+;Jersey:添加所有资源和提供程序,而不绑定Jersey Servlet

Java Guice+;Jersey:添加所有资源和提供程序,而不绑定Jersey Servlet,java,jersey,guice,Java,Jersey,Guice,我目前正在使用jersey 1.8和Guice 3.0为我的JPA开发一个jersey应用程序。这对于我无法克服的一个主要问题非常有效: 我必须使用bind手动将所有Jersey资源类添加到JerseyServletModule: @Override protected Injector getInjector() { return Guice.createInjector(new JerseyServletModule() { @Override pr

我目前正在使用jersey 1.8和Guice 3.0为我的JPA开发一个jersey应用程序。这对于我无法克服的一个主要问题非常有效:

我必须使用bind手动将所有Jersey资源类添加到JerseyServletModule:

@Override
protected Injector getInjector() {
    return Guice.createInjector(new JerseyServletModule() {

        @Override
        protected void configureServlets() {

            install(new JpaPersistModule("DBName"));
            filter("/*").through(PersistFilter.class);

            /* bind the REST resources and serve*/
            bind(Hello.class);
            serve("/*").with(GuiceContainer.class);

        }
    });
}
我希望能够在jersey guice doc中找到一条备注,说明每种资源和提供者使用bind的情况:

它基本上表示可以将jersey资源的注册传递给jersey servlet。但是,我无法使用上述方法管理此问题:

@Override
     protected Injector getInjector() {
         return Guice.createInjector(new JerseyServletModule() {

             @Override
             protected void configureServlets() {
                 bind(GuiceResource.class);

                 Map<String, String> params = new HashMap<String, String>();
                 params.put(PackagesResourceConfig.PROPERTY_PACKAGES, "unbound");
                 serve("/*").with(GuiceContainer.class, params);
             }
         }
     });
@覆盖
受保护的喷油器getInjector(){
return Guice.createInjector(新JerseyServletModule(){
@凌驾
受保护的void configureServlets(){
bind(GuiceResource.class);
Map params=新的HashMap();
参数put(PackagesResourceConfig.PROPERTY_PACKAGES,“unbound”);
使用(GuiceContainer.class,params)提供(“/*”);
}
}
});
遗憾的是,我无法获得更多关于泽西资源注册过程的信息

任何帮助都将不胜感激。当然,我可以提供额外的信息,如果需要的话!
谢谢。

我回答我自己的问题已经变得相当标准,但我从Guice 2线程中找到了答案,但幸运的是它可以与Guice 3和Jersey 1.8一起使用

/*
* The following line will scan ausbdsoccer.server.resources package for Jersey Resources
*/
params.put("com.sun.jersey.config.property.packages","ausbdsoccer.server.resources");
好了


别忘了将参数映射传递给GuiceContainer.class

谢谢,真的很有帮助!我也有同样的问题。