Файл persistence.xml не найден в дескрипторе развертывания Glassfish (IntelliJ) - PullRequest
2 голосов
/ 30 октября 2010

У меня есть EJB и WEB-модуль в IntelliJ, я создал 5 сущностей, которые я надеюсь загрузить в базу данных с помощью аннотаций.

Я иду в настройки проекта в разделе модулей и выбираю, что хочу добавить фасет JPA, я знаю, что у меня есть фасет EJB, WEB и JPA.Я использую eclipselink, поэтому я проверил, что в настройках JPA я добавил свой файл persistence.xml, настроил файл.

Проблема заключается в том, что при развертывании он просто не будет развертывать файл persistence.xml, что означает, что я не могу найти его на своем сервере Glassfish 3.0 при выборе приложения в дескрипторах развертывания.Я нахожу мой sun-web-ejb.xml только в модуле EJB.Файл persistence.xml также не находится под модулем WEB, но я предполагаю, что он все равно должен находиться под модулем EJB.

Предполагается, что мой файл persistence.xml не должен загружаться на сервер, чтобы я мог найти xml-файл в консоли администратора GF (приложения -> мой модуль EJB -> дескрипторы развертывания)?

Если это не предусмотрено, нужно ли мне что-то конкретно делать в IntelliJ для развертывания файла persistence.xml на сервере?Может быть, это что-то, в частности, мне нужно сделать с моим аспектом JPA?

Спасибо за любые отзывы по этому вопросу, я, конечно, могу предоставить более подробную информацию о моей настройке, если это необходимо.

1 Ответ

2 голосов
/ 01 ноября 2010

Я нахожу мой sun-web-ejb.xml только в модуле EJB.

Это уже странно.Если я не ошибаюсь, это собственный дескриптор развертывания для веб-модуля.

persistence.xml также не находится в WEB-модуле, но я предполагаю, что он все равно должен находиться в EJB-модуле

Все зависит от того, как вы упаковываете и развертываете свои сущности, что может быть сделано несколькими способами (см. Что вам, возможно, нужно знать о параметрах упаковки модуля постоянства ).

Если ваши сущности упакованы в EJB-JAR, persistence.xml должен быть помещен в каталог META-INF.

Но вы можете упаковать их в веб-модуль, это будетпроще в вашем случае.См. Ссылку выше.

Предполагается, что мой файл persistence.xml не должен загружаться на сервер, чтобы я мог найти файл xml в консоли администратора GF (приложения -> мой модуль EJB -> дескрипторы развертывания)?

Я предлагаю проверить, что физический JAR содержит META-INF/persistence.xml.

Если это не предназначено, есть ли что-то, что мне нужно сделать в IntelliJ, чтобысделать так, чтобы файл persistence.xml был развернут на сервере?Может быть, это что-то особенное, что мне нужно сделать с моим аспектом JPA?

Не могу сказать.Может быть, поможет следующая ссылка: Включение поддержки JPA .

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