2013-12-12 5 views
2

У меня Tomcat 7.0.47, и у меня есть служба REST Easy JAXRS. Служба использует два внешних JAR-порта, один из которых имеет базовый интерфейс репозитория и реализацию по умолчанию, и тот, который создает конкретный репозиторий, полученный из базы (т. Е. Эти два JAR имеют зависимость).Tomcat 7, Weld, RESTEasy не сканирует JAR

Служба работает, то есть я могу отправить запрос и вернуть данные из базы данных.

Теперь то, что я пытаюсь сделать, это получить репозиторий впрыскивается в службу REST, чтобы сделать это, я изменил код REST выглядеть

@Path("/country") 
public class CountryService { 

    @Inject 
    ICountriesRepository repository; 

    @GET 
    @Produces({"application/json", "application/xml"}) 
    public List<Country> getCountries() throws NamingException, SQLException { 
     return repository.getCountries(); 
    } 
} 

Я добавил beans.xml файл в WAR-файл веб-приложения (он находится в каталоге META-INF), и я добавил beans.xml для обоих JARS.

Когда я развернуть приложение, я вижу следующее сообщение:

INFO: Adding scanned resource: com.mantiso.cricket.service.CountryService 

, но я не видел подобных сообщений для класса репозитория в JAR.

Развернуто JAR; файл beans.xml находится в каталоге META-INF JAR; Я попытался добавить @ManagedBean в класс репозитория.

Уверен, что я пропустил что-то простое, но много поисков появилось не так много.

Это Tomcat 7.0.47; Weld 2.1.0; RESTEasy 3.0.5

Что еще я должен попробовать?

+0

попытаться использовать реализацию джерси и интегрировать его с весной, как так: http://www.mkyong.com/webservices/jax-rs/ Джерси-весна-интеграционный пример / –

ответ

1

И ответ: Файл beans.xml для веб-приложения должен находиться в каталоге WEB-INF. Если он находится в каталоге META-INF, он не анализируется.

Хотя это было, по всей видимости, работает нормально, когда я попытался нагнетание в сервлет

Смежные вопросы