当前位置: 首页 > 知识库问答 >
问题:

构建Sencha/ExtJS 5项目时出现java.lang.StackOverflowError

袁耀
2023-03-14

当我打开我的项目并且Eclipse尝试构建它时,我收到了这个错误:在“构建工作区”期间发生了一个内部错误。java.lang.StackOverflowError.

它仍然完成构建(我想),我可以继续。但是我收到一个“内部错误”弹出窗口,说发生了堆栈溢出,建议我退出工作台。我只是忽略了弹出窗口。

以下是我的.log输出:

!SESSION 2014-11-13 09:22:21.634 -----------------------------------------------
eclipse.buildId=4.4.0.I20140606-1215
java.version=1.7.0_51
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data C:\Workspaces\pvmui-ws3

!ENTRY org.eclipse.egit.ui 2 0 2014-11-13 09:22:31.052
!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
this system level configuration. The Git installation location can be configured on the
Team > Git > Configuration preference page's 'System Settings' tab.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.

!ENTRY org.eclipse.egit.ui 2 0 2014-11-13 09:22:31.057
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\XXXXXX'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.

!ENTRY org.eclipse.core.jobs 4 2 2014-11-13 09:24:25.196
!MESSAGE An internal error occurred during: "Building workspace".
!STACK 0
java.lang.StackOverflowError
    at org.eclipse.vjet.dsf.jst.declaration.JstProxyType.getName(JstProxyType.java:105)
    at org.eclipse.vjet.dsf.jst.declaration.JstMixedType.getName(JstMixedType.java:75)
    **THESE TWO LINES REPEAT ABOUT 1023 TIMES**

!ENTRY org.eclipse.vjet.eclipse.core 4 0 2014-11-13 09:24:26.431
!MESSAGE There is no jst2dltk translator for node: org.eclipse.vjet.dsf.jst.term.ObjLiteral

!ENTRY org.eclipse.vjet.eclipse.core 4 0 2014-11-13 09:24:26.510
!MESSAGE There is no jst2dltk translator for node: org.eclipse.vjet.dsf.jst.term.ObjLiteral

!ENTRY org.eclipse.ui 4 4 2014-11-13 09:24:27.036
!MESSAGE Conflicting handlers for org.eclipse.vjet.eclipse.debug.ui.launchShortcut.run: {org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension$LaunchCommandHandler@6436afd6} vs {org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension$LaunchCommandHandler@42523e00}

我该怎么做才能避免这个问题?

共有2个答案

马德厚
2023-03-14

如何处理StackOverflow错误:

最简单的解决方案是仔细检查堆栈跟踪并检测行号的重复模式。这些行号表示递归调用的代码。一旦检测到这些行,就必须仔细检查代码并理解递归从未终止的原因。

如果您已经验证了递归的正确实现,那么您可以增加堆栈的大小,以便允许更多的调用。根据安装的Java虚拟机(JVM ),默认线程堆栈大小可能等于512KB或1MB。您可以使用-Xss标志增加线程堆栈的大小。可以通过项目的配置或命令行来指定此标志。< code>-Xss参数的格式为:

-Xss<size>[g|G|m|M|k|K]

顺便说一句,这似乎是一个日食错误(阅读此引用),已在最新版本中修复。

濮阳繁
2023-03-14

JstMixedType似乎会累积多个类型并连接它们的名称。在您的情况下,它包含自己(或围绕自己的代理,确切地说)。这不应该发生。这似乎是VJET核心中的一个错误,应该报告。

也许你可以通过修改你的配置/代码来解决这个问题。你有包含他们自己的任何混合类型吗?这是有意的吗?(很可能是)如果不是,就把它们换掉。

 类似资料:
  • 我无法在命令行中使用cordova创建android项目。我遵循了以下步骤,在执行此命令“cordova platform add android”时,出现了以下错误。 此外,我下载了android SDK文件并将其保存在单独的文件夹中,并在系统变量中提到了其路径(平台工具和工具)。正在创建项目文件夹,但无法将平台指定为android。请帮忙!!如果有人能简单地介绍一下使用cordova(除了co

  • 当我在windows上使用gradle构建示例corda项目(gradlew.bat deployNodes)时,我在log4j中看到了关于删除命令的错误: 2019-10-28 16:30:47207主要错误删除包含无效属性“IfFileName”、“IfLastModified”2019-11-28 16-30:47213主要错误缺少删除条件:不支持无条件删除2019-12-28 16:30:

  • 我是Hilt的新手,我正在努力在我的多模块应用程序中实现它。经过无限次尝试,构建错误从“错误a”到“错误b”,然后是“错误c”等等。 这就是我如何开始在我的多模块应用程序中实现希尔特: 应用程序build.gradle: 考虑到这一点,我必须提到我有一个AppSettings类,在那里我存储了所有的应用程序配置(现在我已经创建了AppSettings1只是为了测试),开始时我试图将该类注入到主活动

  • 新安装的android工作室,并开始新的Android项目。当试图运行它时。从Gradle那里得到这个错误 我尝试过重建项目,也尝试过删除文件夹,但没有任何效果。