2013-11-25 75 views
1

当我尝试在tomcat服务器上部署war(使用'grails war'构建)时,出现以下错误。不幸的是,在日志文件中没有其他的消息,除了这一点:OutOfMemory在tomcat上部署战争时

Nov 25, 2013 3:44:54 PM org.apache.tomcat.util.modeler.BaseModelMBean invoke 
SEVERE: Exception invoking method check 
java.lang.OutOfMemoryError: Java heap space 
    at java.io.DataInputStream.readUTF(DataInputStream.java:661) 
    at java.io.DataInputStream.readUTF(DataInputStream.java:564) 
    at org.apache.tomcat.util.bcel.classfile.ConstantUtf8.<init>(ConstantUtf8.java:47) 
    at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:125) 
    at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:60) 
    at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:209) 
    at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:119) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2118) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1994) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1960) 
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1945) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1319) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:541) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1461) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1445) 

我怎样才能得到关于此错误的更多信息?

注:

  • Grails的应用程序是在本地没有任何问题
  • 其他Grails应用在同一台服务器上的工作没有问题的工作(版本2.2.0所有的新上2.3)
  • 我已经尝试过以扩展内存堆......没有改善

谢谢

+0

我想这是一个依赖性问题 – elCapitano

+3

在您的服务器上启用jmx并尝试连接jconsole,可能会帮助您了解发生了什么。 – Taylor

+0

我可以知道你正在使用哪个IDE吗? – Prasad

回答

0

您使用哪个Tomcat版本?例如,如果您运行Debian Wheezy框,则软件包提供的版本为7.0.28。它有一些严重的错误,遍历类路径来扫描注释(至少这是我在阅读关于SO和错误报告的其他几个问题后注意到的)。我认为它是固定的〜7.0.34。我有一个完全相同的问题,并注意到一切运行良好的新版本。