使用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>