LoginSignup
1
2

More than 5 years have passed since last update.

Java MavenでStackOverflowError

Last updated at Posted at 2016-09-26

JavaをMavenでビルドした際に、StackOverflowErrorが発生したときの解決方法をメモ。

  • エラー内容
[ERROR] システム・リソースが不足しています。
[ERROR] 詳細は次のスタック・トレースで調査してください。
[ERROR] java.lang.StackOverflowError
  • 原因
    これは初めから予測はついていた。他システムと連携するAPI関連のモジュールクラスが5万ステップに達するほど大きかったため。コードをなんとかするのが一番きれいな解決策だが、そうできない事情があったため今回は以下で対応

  • 対応
    2つの対応方法があります。

    • 対応方法1
      MAVENの環境変数でビルド時のStackサイズを増やす。
      SET MAVEN_OPTS=-Xms256m -Xmx1024m -Xss2048k
      -Xss2048kでStackサイズを指定しています。
    • 対応方法2
      pom.xml内でStackサイズをセットする。
      ※compilerArgsはmaven-compiler-plugin3.1以降で対応です
pom.xml
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<fork>true</fork>
<compilerArgs>
  <arg>-J-Xss2048k</arg>
</compilerArgs>

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2