C/C++教程

Maven编译Scala报错StackOverflowError

本文主要是介绍Maven编译Scala报错StackOverflowError,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Maven 编译时出现 error: java.lang.StackOverflowError

前言

看这个错误大部分就是因为java线程栈出现的问题,但是现在说的这个不是这个原因导致的,不知道有没有听说过【在scala-2.10.x版本种,case class的元素超过22个以后即会编译报错】,我这个也确实是因为一个case class 成员多导致的,大约有130多个成员变量左右,但是我的是 scala_2.11所以感觉应该不会是版本导致的问题,实验过程中当成员限制到100左右后就没问题,当然我也懒的再去拆解case class

网上的解决办法(我的未解决)

网上说的原因感觉也是没有问题,就是加大线程栈的大小就行,就是 -Xss = -XX:ThreadStackSize 设置这个参数

  • 在IDEA设置
    https://blog.csdn.net/xianpanjia4616/article/details/101798222
  • 设置环境变量
    https://juejin.cn/post/6844903599722463240

可能是我自己设置的问题,反正以上的方法没能成功,说一下,我的工程是用的自己的maven,不是idea自带的。

网上的解决办法(我的已解决)

网上还有一个是解决了我的问题,这个方法是将配置参数直接加到pom文件里面
https://blog.csdn.net/qq_21997625/article/details/113628160

<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>scala-maven-plugin</artifactId>
    <version>3.4.0</version>
    
    <!-- 这里是需要添加的部分-->
    <configuration>
        <displayCmd>true</displayCmd>
        <jvmArgs>
            <jvmArg>-Xss20m</jvmArg>
        </jvmArgs>
    </configuration>
    
    
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
</plugin>
这篇关于Maven编译Scala报错StackOverflowError的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!