Java 增加Eclipse中JUnit测试的堆栈大小

Java 增加Eclipse中JUnit测试的堆栈大小,java,eclipse,junit,junit4,stack-size,Java,Eclipse,Junit,Junit4,Stack Size,我有一个问题,每当我尝试运行JUnit测试时,它们都会因为StackOverflowerError而失败。我的问题是,我有一个递归函数,它遍历一个非常大的图以找到所有可能的路径。我还有一个递归计数器,它计算最深的递归是什么,对于大多数图,我的值在3000到4000之间。当我运行JUnit测试时,StackOverflowerError总是精确地出现在2300,无论我设置了什么VM参数 我已经尝试了-Xss1m到-Xss10m,但是没有成功,堆栈溢出错误仍然在相同的递归深度出现。我已经在互联网上搜

我有一个问题,每当我尝试运行JUnit测试时,它们都会因为
StackOverflowerError
而失败。我的问题是,我有一个递归函数,它遍历一个非常大的图以找到所有可能的路径。我还有一个递归计数器,它计算最深的递归是什么,对于大多数图,我的值在3000到4000之间。当我运行JUnit测试时,
StackOverflowerError
总是精确地出现在2300,无论我设置了什么VM参数

我已经尝试了
-Xss1m
-Xss10m
,但是没有成功,
堆栈溢出错误仍然在相同的递归深度出现。我已经在互联网上搜索了一下,发现我还需要设置正在运行的eclipse应用程序的堆栈大小。所以我还是这样做了,但还是没有用

下面是我已经尝试设置堆栈大小的几个屏幕截图:


你知道我错过了什么吗?

现在回答这个问题有点晚了

解决方案一:

       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
                <!-- look here -->
                <argLine>-Xss18m</argLine>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.apache.maven.surefire</groupId>
                    <artifactId>surefire-junit47</artifactId>
                    <version>2.19.1</version>
                </dependency>
            </dependencies>
        </plugin>

org.apache.maven.plugins
maven surefire插件
2.19.1
-Xss18m
org.apache.maven.surefire
surefire-junit47
2.19.1

检查
行虽然这是一个有效的问题,但您是否考虑过简单地重构代码以使用非递归方法?是的,我们目前正在使用非递归方法来解决此问题,但目前我们需要此解决方案,因为它比我们一开始认为的更复杂。。。