2017-01-28 12 views
0

У меня есть проект Java EE под JDeveloper 11g, и теперь я перехожу к Eclipse.Публикация проекта Java EE под Eclipse на WebLogic Server

проект My Java EE имеет стандартную структуру: Project C (Utility Project) Проект B (EJB Project) Project A (веб-проект)

Под JDeveloper, это то, что мы правильно публиковать и использовать приложение:

  1. Проект C добавляется в качестве зависимости для обоих Проект B & A (т.е. Project B и A и доступа/используют классы Java в проекте C)
  2. Проект A использует класс и гр alls к сессионным компонентам, которые находятся в Project B, поэтому Project B добавляется как зависимость от Project A.

После установки все, что мы делаем, запускает/отлаживает приложение и запускается интегрированный сервер WebLogic. вышеперечисленные проекты. Здесь нет упаковки EAR/JAR.

Переход к Eclipse (Неон 2), мы сделали следующее:

  1. проекта A, B & C были перемещены, чтобы стать Eclipse, на основе проектов
  2. Проект C был добавлен в путь сборки и Project B и A. Это привело к чистой (0-ошибка) компиляции всех трех проектов в среде Eclipse IDE. С добавляют к узлу развертывания как Project B и A
  3. Project B
  4. Проект был добавлен к узлу развертывания
  5. Используя OEPE, был добавлен новый сервер Weblogic Project А. и указал на базовый домен WebLogic в (Это было проверено и сервер WebLogic может быть запущен и доступен правильно)

при попытке опубликовать приложение, он держал неудачу со следующей ошибкой:

weblogic.deployment.EnvironmentException: The module wm-webapp in application _auto_generated_ear_ uses ejb-links but no EJB modules were found for this application.

Чтобы изолировать проблему, я попытался опубликовать проект B (EJB Project). Я получил ошибку ClassDefNotFound, где рассматриваемый класс найден в Project C. Не уверен, связано ли это с первой проблемой, но пытается охватить различные ошибки, которые мы получили.

У меня 2 основных вопроса:

  1. Очевидно, что основной вопрос, что я здесь делаю неправильно?
  2. Я предполагаю, что я все еще могу развернуть сервер WebLogic с помощью Eclipse без необходимости упаковки моих проектов в EARS, JAR и т. Д. (Точно так же, как то, что мы делали в JDev). Это правильное предположение? Мы хотим опубликовать с помощью Eclipse, так что мы все еще в состоянии использовать «отладку» feataure без возврата к опции, как «Отладка с помощью удаленного Java Application» или через родные лесозаготовки и т.д. ...

Спасибо.

ответ

0

I'm assuming I can still deploy to a WebLogic server using Eclipse without the need to package my projects to EARS, JARs etc... (Just like what we've been doing under JDev). Is that a correct assumption?

Неправильно.

Это одна из проблем с чрезмерной зависимостью от IDE, такой как Eclipse: она позволяет вам не знать, что происходит.

Серверы приложений Java EE требуют, чтобы вы упаковывали приложение в WAR (или EAR, если у вас есть EJB). IntelliJ создает взорванную WAR, поэтому вам не нужно упаковывать и перемещать WAR-файл. Но макет файлов в артефакте точно соответствует стандарту WAR.

+0

Ярмарка достаточно. Однако здесь ничего не имеет смысла. Если под затмением и работает на сервере WebLogic, единственный способ опубликовать - это фактически генерировать файлы EAR/War и вручную их развертывать; то как бы вы закончили отладку своего кода через среду IDE? Это просто слишком много хлопот для продвинутой среды IDE, такой как Eclipse – Brams

+0

IntelliJ использует взорванную WAR для запуска локально, но когда я ее развертываю в приложении Java EE, мой инструмент сборки CI Дженкинс создает WAR и помещает его в/развертывание в JBOSS. Eclipse/WebLogic должно делать что-то подобное. – duffymo