0

H2データベースを使用するNetBeans内で単体テストを実行またはデバッグすると、StackOverflowErrorが発生します。

..。

Caused by: java.lang.StackOverflowError
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.h2.command.Command.executeUpdate(Command.java:230)
    at org.h2.command.CommandList.update(CommandList.java:44)
    at org.h2.command.CommandList.executeRemaining(CommandList.java:39)
    at org.h2.command.CommandList.update(CommandList.java:45)
    at org.h2.command.CommandList.executeRemaining(CommandList.java:39)
    at org.h2.command.CommandList.update(CommandList.java:45)
    at org.h2.command.CommandList.executeRemaining(CommandList.java:39)
    at org.h2.command.CommandList.update(CommandList.java:45)
    at org.h2.command.CommandList.executeRemaining(CommandList.java:39)
    at org.h2.command.CommandList.update(CommandList.java:45)
    at org.h2.command.CommandList.executeRemaining(CommandList.java:39)
    at org.h2.command.CommandList.update(CommandList.java:45)
    at org.h2.command.CommandList.executeRemaining(CommandList.java:39)
    at org.h2.command.CommandList.update(CommandList.java:45)
    at org.h2.command.CommandList.executeRemaining(CommandList.java:39)

...など

antからユニットテストの完全なセットを実行すると、問題はありません。IntelliJからの単一ユニットテストの実行も正常に機能します。

ヘルプをいただければ幸いです。「IntelliJに切り替える」などの回答はご遠慮ください。お気に入りのIDEを使い続けたいと思います。

4

1 に答える 1

2

JVMのスタックサイズを増やすことで解決しました。[ファイル]->[プロジェクトのプロパティ]->[実行]で、-Xssを指定したVMオプションをより大きな値に設定します。

于 2012-06-21T14:06:05.270 に答える