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.

Другие вопросы по тегам