java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:Java堆空间

时间:2012-08-28 09:03:52

标签: java eclipse tomcat

我在Eclipse Indigo中创建了一个示例JSF / JDBC项目,该项目已部署到Tomcat 7.当我将mysql-connector-java-5.1.21.jar放入/WEB-INF/lib时,我收到以下错误:

Eclipse中的一个:

  

localhost(8)上的服务器Tomcat v7.0服务器无法在120秒内启动。如果服务器需要更多时间,请尝试在服务器编辑器中增加超时。

另一个来自Tomcat:

SEVERE: Error waiting for multi-thread deployment of context descriptors to complete
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:574)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1413)

它们是如何引起的,我该如何解决?

3 个答案:

答案 0 :(得分:3)

正如错误所说,你已经没有堆空间了。尝试通过在启动tomcat时提供以下JVM参数来提供更多堆:

java -Xmx1024m

实际“正确”金额取决于您的硬件设置和应用要求。

答案 1 :(得分:1)

Tomcat是耗尽内存的进程,而不是Eclipse。从Servers视图中打开Tomcat实例并编辑其Launch Configuration。从Arguments选项卡中,为其指定更大的最大堆大小。

答案 2 :(得分:0)

停止Tomcat v7.0服务器并再次运行它。 您可以尝试更改Java堆大小

将eclipse-home / eclipse.ini编辑为如下所示并重新启动Eclipse。     -vmargs     -Xms256m     -Xmx1024m