При доступе из веб-приложения архив Spring Persistence и entitymanager не имеют значения - PullRequest
1 голос
/ 25 марта 2012

Я создал файл jar с помощью модульных тестов Spring Roo (проект Maven - постоянный архив) в порядке, соответствующие файлы находятся в следующем месте

jarFile/META-INF/persistence.xml
jarFile/META-INF/applicationContext.xml
jarFile/META-INF/applicationContext-jpa.xml
jarFile/META-INF/database.properties

Модульные тесты в порядке.

Поскольку это проект maven, я добавил его в локальный репозиторий, выполнив команду "mvn install", а затем добавил его в качестве зависимости от другого веб-приложения на основе maven.

Я работаювеб-приложение, использующее команду mvn jetty: run.соответствующие файлы в веб-приложении:

webApp/WEB-INF/web.xml
webApp/WEB-INF/applicationContext.xml

Проблема * Его загрузка webapp / WEB-INF / applicationContext.xml, но как я могу проверить его загрузку дочерним jarFile / META?-INF / applicationContext.xml или нет?на самом деле, когда я пытаюсь получить доступ к методам класса обслуживания из архива постоянства, entityManager имеет значение NULL.* Если я пытаюсь поместить директиву contextConfigLocation (пробовал различные варианты) в файл web.xml, он даже не загружает webapp / WEB-INF / applicationContext.xml.

Что я хочу Используйтеметоды обслуживания (которые используют entitymanager) из архива постоянства из моего веб-приложения.

Заранее спасибо.

1 Ответ

0 голосов
/ 25 марта 2012

Нашел ответ, немного покопавшись. На самом деле меня перепутали с различными способами / синтаксисом для включения файла контекста, я пытался использовать любой синтаксис classpath *: xxx, но на самом деле WEB-INF не находится на пути к классам, поэтому для загрузки в web.xml нужно добавить следующее основное webApp / WEB-INF / applicationContext.xml

  <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>

Затем пришлось добавить следующее в webApp / WEB-INF / applicationContext.xml

<import resource="classpath*:META-INF/spring/applicationContext*.xml" />

Теперь веб-приложение также загружает файл контекста из файла JAR. И все работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...