应用程序启动差异eclipse和tomcat?

时间:2014-03-14 09:15:36

标签: java eclipse spring tomcat deployment

当我开发我的应用程序时,我在eclipse中的tomcat上启动它。每次运行都很顺利。

但是当我将war文件部署到tomcat并使用tomcat的startup.bat时,我经常遇到java.lang.OutOfMemoryError: Java heap space错误。这在创建Spring @Bean定义期间发生。它也需要很长时间才能开始。

为什么从eclipse启动应用程序和在tomcat中手动启动应用程序之间存在明显区别?我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

为tomcat设置这些vm参数,

-XX:PermSize<size> - Set initial PermGen Size.
-XX:MaxPermSize<size> - Set the maximum PermGen Size.

了解更多info

答案 1 :(得分:0)

看看[this](http://www.jkstack.com/2012/12/how-to-set-tomcat-heap-size-jvm-heap.html

从tomcat和eclipse启动应用程序之间没有区别。但是它取决于各种参数,例如运行了多少个tomcat实例,任何运行java应用程序的背景巨大内存等等。

答案 2 :(得分:-1)

基本上eclipse.ini设置了所有vm内存参数 - 比如-Xms40m -Xmx512m等 -Xms选项设置初始和最小Java堆大小。 Java堆(“堆”)是内存的一部分,其中内存块分配给对象并在垃圾回收期间释放。 - http://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html

您可能需要为tomcat调整相同内容。