我在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)
它们是如何引起的,我该如何解决?
答案 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