Tomcat 7, Weld, RESTEasy не сканирует JAR

У меня есть Tomcat 7.0.47, и я размещаю службу REST Easy JAXRS. Служба использует два внешних JAR-файла, один из которых имеет интерфейс базового репозитория и реализацию по умолчанию, а другой создает конкретный репозиторий, полученный из базы (т. е. эти два 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 находится в каталоге JAR META-INF; Я попытался добавить @ManagedBean в класс репозитория.

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

Это Tomcat 7.0.47; Сварка 2.1.0; RESTEasy 3.0.5

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


person Kevin Jones    schedule 12.12.2013    source источник
comment
попробуйте использовать реализацию трикотажа и интегрируйте ее с Spring следующим образом: .com/webservices/jax-rs/jersey-spring-integration-example   -  person Mr T.    schedule 12.12.2013


Ответы (1)


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

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

person Kevin Jones    schedule 12.12.2013