Eclipse не читает правильный корень контекста значений веб-модулей из EAR, который компилируется с Maven при публикации в WebSphere. - PullRequest
0 голосов
/ 08 октября 2019

У меня есть проект Maven, который создает файл ear для WebSphere, и я могу загрузить его непосредственно в WebSphere (из веб-консоли), однако - при попытке развернуть его из Eclipse - затмение идентифицирует оба экземпляра WAR-файлов (Один под целевым объектом его модуля и один под целевым модулем EAR) и настраивает их как корневой контекст вместо определения в application.xml

Любая идея, что может заставить Eclipse сделать это

Ответы [ 2 ]

0 голосов
/ 03 ноября 2019

Проблема заключалась в том, что конфигурация Eclipse-Maven была настроена неправильно.

1) Этап настройки должен быть выполнен с Oracle JDK, и только позже мы должны переключиться на IBM JDK для развертывания 2) Как толькоMaven «Обновление проекта» был выполнен правильно, сборка развертывания каждого модуля была правильно установлена ​​в свойствах каждого модуля, и затем я мог продолжить развертывание его в WebSphere, после того как EAR добавил правильный war-context context-root

0 голосов
/ 09 октября 2019

Хитрость заключается в том, чтобы зайти на сервер и в папку установленных приложений и посмотреть, что там в распакованном виде. В каталоге вашего уха вы найдете несколько дополнительных файлов, которые генерируются WebSphere во время ручного развертывания (и эти файлы по какой-то причине не генерируются с помощью Eclipse или maven deploy).

Когда я был в том же самомЯ скопировал эти файлы в соответствующие папки в проектах maven и проверил, когда я выполняю развертывание через maven, эти сгенерированные WebSphere XML-файлы размещаются правильно (в том же месте, что и при ручном развертывании).

Недостаток этого в том, что если вы что-то измените в своих EJB-компонентах, в отношении безопасности (например, в отношении исходных данных, которые WebSphere использовал, когда были сгенерированы эти дополнительные файлы), вам придется синхронизировать эти файлы с файлами исходных данных (иКонечно, вы должны понимать логику, но это будет не так сложно). (Другое решение - время от времени выполнять развертывание вручную и просто записывать поверх старых файлов в своем проекте. Обычно это требуется при добавлении или удалении аннотированных классов.)

Что это за файлы?

уровень уха

  • ibm-application-bnd.xml (роли приложений - сопоставления реальных групп, это важно иметь)

уровень войны

  • ibm-metadata.xml (WAS сканирует путь к классам и делает этот XML-файл аннотированным для классов, это один из них, который может вызвать вашу проблему, если яхорошо помните)
  • ibm-web-ext.xml (как следует из названия, некоторые общие настройки, такие как перезагрузка jsp, просмотр каталогов или обслуживание файлов, включены или нет, и т. д.)
  • ibm-datasource-ext.xml и ibm-web-bnd.xml (настройки, связанные с источником данных)
  • ibm-managed-beans.xml и ibm-managed-bean-bnd.xml - я не знаю, онибыли пусты в моем проекте

Если вы добавите их в свой проект, вы сможетеeploy использует maven, хотя я не уверен, что он будет работать и с Eclipse. Для развертывания мы использовали com.orctom.mojo: was-maven-plugin .

...