我将Eclipse从Neon更新到最新的2019-12,并且我有一个遗留项目,它使用xdoclet生成EJB接口和类。霓虹灯的xdoclet构建器运行良好,但2019-12年的构建器在代码更改触发并持续运行直到溢出时会遇到StackOverflowError。
两个Eclipse都指向相同的xdoclet 1.2.3安装,并启用了builder。
因为控制台上的build print msg如下所示,所以我比较了两个插件目录,没有什么不同。
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)
---------------------------------------------------------------------------------
...发布于 2020-07-01 03:13:02
这对我来说很有效,在Eclipse中,你必须在Window -> Preferences ->启动->常规选项中禁用“启动前构建(如果需要)”。
Build (if required) before launching
欢迎光临!
https://stackoverflow.com/questions/59536181
复制相似问题