Guice + Jersey: добавьте все ресурсы и провайдеры без привязки к Jersey Servlet

В настоящее время я работаю над использованием джерси с использованием Jersey 1.8 в сочетании с Guice 3.0 для DI для моей JPA. Это очень хорошо работает с одной серьезной проблемой, которую я не смог преодолеть:

Мне нужно вручную добавить все классы ресурсов Джерси в модуль JerseyServletModule, используя bind:

@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);

        }
    });
}

Я хотел бы иметь возможность опустить использование привязки для каждого отдельного ресурса и провайдера и найти в описании джерси-guice примечание: http://jersey.java.net/nonav/apidocs/1.8/contribs/jersey-guice/com/sun/jersey/guice/spi/container/servlet/package-summary.html

В основном говорится, что можно пройти регистрацию ресурсов трикотажа на сервлете джерси. Однако я не смог управлять этим, используя указанный метод:

@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);
             }
         }
     });

К сожалению, я не мог получить больше информации о процессе регистрации ресурсов трикотажа.

Любая помощь будет оценена по достоинству. Конечно, я могу предоставить дополнительную информацию, если это необходимо! Спасибо.

Ответ 1

Становится довольно стандартным, что я отвечаю на свой вопрос, но я нашел ответ от Guice 2 Thread, но, к счастью, он работает с 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!