我正在使用一个使用 EJB 2.1 的旧企业应用程序。该应用程序是在 2000 年代使用 Eclipse 和 XDoclet 1.2.3 构建的。
该应用程序由 1 个名为的企业应用程序项目AppEar
、1 个名为的 EJB 项目AppEjb
、1 个名为的 EJB 客户端项目AppEjbClient
、1 个名为的实用程序项目AppSrc
和 1 个名为的动态 Web 项目组成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-jar.xml 中设置了错误的 ejb-client-jar。这是它现在的设置方式:
<ejb-client-jar>AppSrc.jar</ejb-client-jar>
所以不知何故,XDcolet 插件现在认为AppSrc
是 EJB 客户端项目而不是AppEjbClient
.
我调查了一下,发现 XDcolet 插件运行tempAnt.xml
位于.metadata\.plugins\org.eclipse.jst.j2ee.ejb.annotations.xdoclet
工作区文件夹中的 ant 脚本。该文件夹还有一个build.properties
文件,该文件具有与 EJB 客户端模块相关的 2 个属性:
ejb.dd.clientjar=AppSrc.jar
ejb.client.module.src=D:/WORK/WORKSPACE-eclipse-jee-kepler/AppSrc/src
我想我只需要在build.properties
文件中更改它们以指向正确的 EJB 客户端,所以我以这种方式更改它们:
ejb.dd.clientjar=AppEjbClient.jar
ejb.client.module.src=D:/WORK/WORKSPACE-eclipse-jee-kepler/AppEjbClient/ejbModule
保存build.properties
文件,然后再次清理并构建整个工作区。
但是在 ejb-jar.xml 中仍然得到了相同的错误 ejb-client-jar。
检查build.properties
文件.metadata\.plugins\org.eclipse.jst.j2ee.ejb.annotations.xdoclet
夹中的文件,并通过删除我的更改将其恢复。所以 XDoclet Plugin 会覆盖这个文件。
我该如何解决这个问题,以便在 ejb-jar.xml 中选择正确的 ejb-client-jar?