我将Eclipse从Neon更新到最新的2019-12,并且我有一个旧项目,该项目使用xdoclet生成EJB接口和类。 Neon的xdoclet构建器运行良好,但2019-12的构建器在通过代码更改触发并持续运行直到溢出时遇到StackOverflowError。
两个Eclipse都指向启用了构建器的相同xdoclet 1.2.3安装。
由于如下所示在控制台上生成了打印msg,我比较了2个插件目录,没什么不同。
Buildfile: D:\Workspaces\Magic\.metadata\.plugins\org.eclipse.jst.j2ee.ejb.annotations.xdoclet\tempAnt.xml
init:
ejbdoclet:
[ejbdoclet] (XDocletMain.start 94 ) Running <deploymentdescriptor/>
[ejbdoclet] Generating EJB deployment descriptor (ejb-jar.xml).
[ejbdoclet] (XDocletMain.start 94 ) Running <remoteinterface/>
[ejbdoclet] Generating Remote interface for '...'.
...
[ejbdoclet] (XDocletMain.start 94 ) Running <mdb/>
client.jar:
BUILD SUCCESSFUL
最新的Eclipse 2019-12不断构建和构建并构建,一次又一次地打印与上述相同的成功消息,直到溢出为止。 Eclipse的日志显示它以递归方式调用buildAndLaunch ... 任何提示都欢迎!!!
java.lang.StackOverflowError
at org.eclipse.core.runtime.ProgressMonitorWrapper.subTask(ProgressMonitorWrapper.java:168)
at org.eclipse.core.runtime.SubProgressMonitor.subTask(SubProgressMonitor.java:197)
at org.eclipse.core.runtime.SubMonitor$RootInfo.subTask(SubMonitor.java:255)
...
--1-------------------------------------------------------------------------------
at org.eclipse.debug.ui.DebugUITools.buildAndLaunch(DebugUITools.java:1027)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.util.AntLauncherUtility.runUsingLauncher(AntLauncherUtility.java:150)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.util.AntLauncherUtility.runAnt(AntLauncherUtility.java:129)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.util.AntLauncherUtility.launch(AntLauncherUtility.java:113)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletAntProjectBuilder$1.run(XDocletAntProjectBuilder.java:118)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletAntProjectBuilder.buildUsingAnt(XDocletAntProjectBuilder.java:126)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletBuilder.build(XDocletBuilder.java:215)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletBuilder$2.visit(XDocletBuilder.java:336)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:67)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:51)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletBuilder.doIncrementalBuild(XDocletBuilder.java:344)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletBuilder.build(XDocletBuilder.java:201)
---------------------------------------------------------------------------------
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:833)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:833)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:220)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:263)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:316)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:319)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:371)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:392)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:515)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:405)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:838)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:719)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1017)
at org.eclipse.debug.ui.DebugUITools.buildAndLaunch(DebugUITools.java:1027)
--2-------------------------------------------------------------------------------
at org.eclipse.debug.ui.DebugUITools.buildAndLaunch(DebugUITools.java:1027)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.util.AntLauncherUtility.runUsingLauncher(AntLauncherUtility.java:150)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.util.AntLauncherUtility.runAnt(AntLauncherUtility.java:129)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.util.AntLauncherUtility.launch(AntLauncherUtility.java:113)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletAntProjectBuilder$1.run(XDocletAntProjectBuilder.java:118)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletAntProjectBuilder.buildUsingAnt(XDocletAntProjectBuilder.java:126)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletBuilder.build(XDocletBuilder.java:215)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletBuilder$2.visit(XDocletBuilder.java:336)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:67)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:77)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:51)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletBuilder.doIncrementalBuild(XDocletBuilder.java:344)
at org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletBuilder.build(XDocletBuilder.java:201)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:833)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
---------------------------------------------------------------------------------
...
答案 0 :(得分:1)
这对我有用,在Eclipse中,您必须在以下位置禁用“启动前构建(如果需要)”: 窗口->首选项->启动->常规选项。
Build (if required) before launching
问候!