加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

netbeans 7.0和scala导致stackoverflow

发布时间:2020-12-16 18:49:56 所属栏目:安全 来源:网络整理
导读:我在 scala中遇到了一些相当烦人的问题.问题是,我可以完美地编译小scala项目,但是当项目更大时,编译器会崩溃为 StackOverflowException. 显然,我必须增加编译器的堆栈大小,但是,这可能是我的主要问题,我不知道如何. 我正在使用这些参数启动netbeans: netbea
我在 scala中遇到了一些相当烦人的问题.问题是,我可以完美地编译小scala项目,但是当项目更大时,编译器会崩溃为 StackOverflowException.
显然,我必须增加编译器的堆栈大小,但是,这可能是我的主要问题,我不知道如何.

我正在使用这些参数启动netbeans:

netbeans_default_options="-J-client -J-Xmx512m -J-Xss8m -J-Xms512m -J-XX:PermSize=128m -J-XX:MaxPermSize=512m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true"

所以,据我所知,-J-Xss8m应该将线程堆栈大小增加到8 MB.但是,这似乎不会影响编译器.所以我尝试使用编译器标志直接将相同的参数传递给编译器,我可以在netbeans中设置,导致:

-deprecation -J-Xss8m

但同样,这没有帮助,我仍然得到例外.我搜索了netbeans文档,但我找到的只是netbeans启动参数,我已经设置了.我希望有人可以给我更多关于如何处理这个问题的信息.

更多的信息:
所以,经过一天我终于有机会在另一台机器上尝试一切.我使用相同的设置和相同的编译器,但令我惊讶的是,我没有得到相同的结果.意思是,在他的机器上,编译器编译整个代码,没有任何异常.
我的计算机与他的唯一区别在于,他有更多的RAM和CPU能力,但这不应该达成协议,因为我们都使用具有相同启动选项的netbeans.

到现在为止,我甚至试过了2.9 scala编译器的RC,它没有多大帮助.另外,我检查了我是否安装了正确的scala插件,因为在使用2.8插件和2.9编译器时可能会出现问题,反之亦然.但是,我正在使用2.9插件和2.9编译器,所以没关系.

解决方法

为Scala编译器提供更多堆栈空间的问题类似于指定更多堆空间.运行Scala编译器时,必须将这两个选项指定为自定义JVM参数.然而,Netbeans缺乏关于如何做到这一点的任何文档,所以在这里.

使用Netbeans为Scala编译器指定自定义JVM参数的方法是为每个项目自定义build.xml.

>在项目文件夹中打开nbproject / build-impl.xml.>搜索“scalac”,您将找到以下目标:-init-macrodef-scalac.>复制整个目标定义,将其粘贴到build.xml中,然后保存.>关闭nbproject / build-impl.xml,从现在开始,您将使用build.xml.>在刚刚复制的目标中,找到< scalac>标记,嵌套将如下:target.macrodef.sequential.scalac>向scalac标记添加自定义“jvmargs”属性,它将如下所示:< scalac jvmargs =“ - Xss2048k -Xmx2000m”...>>保存build.xml.现在,无论何时使用netbeans编译项目,编译器都将使用自定义jvm参数运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读