Eclipse: плагин XDoclet устанавливает неправильный ejb-client-jar в ejb-jar.xml
Я работаю со старым приложением Enterprise, которое использует EJB 2.1. Приложение было построено в 2000-х годах с использованием Eclipse и XDoclet 1.2.3.
Приложение состоит из 1 проекта корпоративного приложения с именем AppEar
, 1 EJB Проект имени AppEjb
, 1 EJB Client Project назван AppEjbClient
, 1 коммунальный проект им. AppSrc
и 1 динамический веб-проект назван AppWeb
,
ejb-jar.xml
находится в ejbModule\META-INF
папка из AppEjb
проект и указывает на AppEjbClient
проект, имеющий эту запись:
<ejb-client-jar>AppEjbClient.jar</ejb-client-jar>
Я обновляю приложение до Eclipse Kepler (Моя рабочая область D:\WORK\WORKSPACE-eclipse-jee-kepler
). Но проблема, с которой я столкнулся, заключается в том, что XDoclet Plugin теперь неправильно устанавливает ejb-client-jar в ejb-jar.xml. Вот как это происходит сейчас:
<ejb-client-jar>AppSrc.jar</ejb-client-jar>
Так или иначе, плагин XDcolet теперь думает, что AppSrc
клиентский проект EJB вместо AppEjbClient
,
Я немного исследовал и обнаружил, что плагин XDcolet запускает скрипт ant tempAnt.xml
который расположен в .metadata\.plugins\org.eclipse.jst.j2ee.ejb.annotations.xdoclet
папка рабочей области. Эта папка также имеет build.properties
файл, который имеет 2 свойства, связанные с клиентским модулем EJB:
ejb.dd.clientjar = AppSrc.jar
ejb.client.module.src = D: / РАБОТА /WORKSPACE-затмение-Jee-Kepler/AppSrc/ SRC
Я думал, что мне просто нужно изменить их в build.properties
файл, чтобы указать на правильный клиент EJB, поэтому я изменяю их следующим образом:
ejb.dd.clientjar = AppEjbClient.jar
ejb.client.module.src = D: / РАБОТА /WORKSPACE-затмение-Jee-Kepler/AppEjbClient/ejbModule
Спасти build.properties
файл, а затем очистить и построить все рабочее пространство снова.
Но все равно получил тот же неправильный ejb-client-jar в ejb-jar.xml.
Проверить build.properties
файл в .metadata\.plugins\org.eclipse.jst.j2ee.ejb.annotations.xdoclet
папку, и она была возвращена обратно, удалив мои изменения. Поэтому XDoclet Plugin перезаписывает этот файл.
Как я могу это исправить, чтобы он выбрал правильный ejb-client-jar в ejb-jar.xml?
1 ответ
Мы работаем в том же выпуске недавно. Способ преодолеть это состоял в том, чтобы удалить Utility Project из рабочей области eclipse, поскольку зависимости в любом случае разрешались с помощью maven poms.
После этого клиент под Java EE Tools > Remove EJB Client
(и, следовательно, в ejb.dd.clientjar) был установлен правильно.
Возможно, какая-то ошибка похожа на эту https://bugs.eclipse.org/bugs/show_bug.cgi?id=122274.