使用maven对scala项目进行编译时,有时会出现StackOverflowError的错误,无法进行打包。
而信息通常会有如下信息:

[INFO] Compiling {个数} source files to {编译路径} at {时间戳}[ERROR] error: java.lang.StackOverflowError{XXX}

{个数}:编译的文件个数
{编译路径}:编译的目标路径地址
{时间戳}:编译的时间戳
{XXX}:重复的方法调用。

原因有很多,需要具体分析XXX的内容。在代码是合理的情况下,最简单的办法是修改编译插件的配置。
对编译插件增加配置,如下:

<plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> <configuration> <jvmArgs> <!-- 需要的配置 --> <jvmArg>-Xss4m</jvmArg> </jvmArgs> </configuration> </execution> </executions> </plugin>