gpt4 book ai didi

scala - netbeans 7.0 和 scala 导致 stackoverflow

转载 作者:行者123 更新时间:2023-12-04 15:36:42 24 4
gpt4 key购买 nike

我在使用 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 启动参数。我希望这里有人可以给我更多关于如何处理这个问题的信息。

更多信息:
所以,一天后,我终于有机会在不同的机器上尝试一切。我使用了相同的设置和相同的编译器,但令我惊讶的是,我没有得到相同的结果。意思是,在他的机器上,编译器毫无异常(exception)地编译了整个代码。
我的电脑和他的电脑之间的唯一区别是,他有更多的 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 .
  • 在刚刚复制的目标中,找到 标签,嵌套如下:target.macrodef.sequential.scalac
  • 将自定义的“jvmargs”属性添加到 scalac 标签,它将如下所示:
  • 保存 build.xml .现在,每当您使用 netbeans 编译项目时,编译器都会使用自定义 jvm 参数运行。
  • 关于scala - netbeans 7.0 和 scala 导致 stackoverflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6926669/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com