处理程序处理失败;嵌套异常是java.lang.StackOverflowError

时间:2016-08-05 19:19:39

标签: java spring selenium selenium-chromedriver

我创建了Restful With Spring框架服务,我试图通过驱动程序Google Chrome包含调用Selenium Java的方法,但要创建对象WebDriver driver = new ChromeDriver ();

我生成了一个例外:

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.StackOverflowError
    org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1302)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:977)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
causa raíz

java.lang.StackOverflowError
    java.lang.Exception.<init>(Exception.java:102)
    java.lang.ReflectiveOperationException.<init>(ReflectiveOperationException.java:89)
    java.lang.reflect.InvocationTargetException.<init>(InvocationTargetException.java:72)
    sun.reflect.GeneratedMethodAccessor95.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:497)
    org.json.JSONObject.populateMap(JSONObject.java:1015)
    org.json.JSONObject.<init>(JSONObject.java:279)
    org.json.JSONObject.wrap(JSONObject.java:1527)
    org.json.JSONObject.populateMap(JSONObject.java:1017)
    org.json.JSONObject.<init>(JSONObject.java:279)
    org.json.JSONObject.wrap(JSONObject.java:1527)
    org.json.JSONObject.populateMap(JSONObject.java:1017)
    org.json.JSONObject.<init>(JSONObject.java:279)
    org.json.JSONObject.wrap(JSONObject.java:1527)

主要课程中的独立运行顺利,但我需要服务Restful

2 个答案:

答案 0 :(得分:1)

Java应用程序中的每个线程都有自己的堆栈,即存储方法调用和局部变量的位置。你提到的错误通常在这个堆栈已满时发生,基本上当前线程会对某些方法进行大量调用(这是一个快乐的情况;另一个方面是无限循环)。

尝试运行具有更高堆栈大小的java进程,并查看错误是否再次发生。这可以使用-Xss属性设置:-Xss4m

答案 1 :(得分:1)

我花了几个小时努力解决stackoverflow错误...希望这有助于某人

我犯了一个愚蠢的错误

请参阅下面的代码段: -

代码不正确: -

Map abcWithKey = new HashMap<>();

abcWithKey.put("key_1", abcWithKey);

正确代码: -

Map abcWithKey = new HashMap<>();

abcWithKey.put("key_1", abc);

其中abc是一个地图,所以我没有添加abc(不同的地图)而是递归添加相同的地图。