经常碰到这个错误,每次重启Tomcat就又好了,很是困惑,请高手赐教!
2009-6-20 20:46:14 org.apache.catalina.startup.HostConfig checkResources
信息: Reloading context []
2009-6-20 20:46:14 org.apache.catalina.core.StandardContext stop
信息: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/] has not been started
2009-6-20 20:46:16 org.apache.catalina.core.StandardContext listenerStart
严重: Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.OutOfMemoryError: PermGen space
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3774)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Unknown Source)
2009-6-20 20:46:16 org.apache.catalina.core.StandardContext listenerStart
严重: Skipped installing application listeners due to previous error(s)
2009-6-20 20:46:16 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2009-6-20 20:46:16 org.apache.catalina.core.StandardContext start
严重: Context [] startup failed due to previous errors
log4j:WARN No appenders could be found for logger (org.springframework.util.ClassUtils).
log4j:WARN Please initialize the log4j system properly.

解决方案 »

  1.   

    Java 深度探索者 高级群: 65670864
    SSH、Ant、IBatis、jsf、seam、portal、设计模式、 
    ZK、DWR、ajax、CSS 、Oracle
      

  2.   

    Error configuring application listener of class com.sun.faces.config.ConfigureListener ?
    是不是 ConfigureListener类有问题?
    你应该是在web.xml中加了 监听,当知道这个类ConfigureListener的时候 由于某些原因导致出错。
      

  3.   

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      
      <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:beans.xml</param-value>
    </context-param> <listener>
    <listener-class>
    org.springframework.web.context.ContextLoaderListener
    </listener-class>
    </listener>

      <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter> <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    </web-app>
      

  4.   

    加载的类太多了,修改启动参数PermGen Space 全称为 Permanent Generation Space,这是用来存放类信息的一块内存区域。这块内存溢出可能是由于加载的类太多,或者说不管有用到没用到,把 Struts, JPA, Spring,以及 JPA 实现的 JAR 包全部加到
    WEB-INF/lib 中去了,加之应用本身的类,直接导致 PermGen Space 被大量地占用。解决办法:1,把不必要的 jar 文件清理出 lib;
    2,不要频繁地进行 reload;
    3,增加 PermGen Space 内存区域,默认是 64MB,可以采用 -XX:MaxPermSize 这个 JVM 参数改这块区域改大一些,这个参数详见:
    http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp如果用的是 Tomcat 的话,可以在 catalina.bat 开始处增加一行 set JAVA_OPTS=-XX:MaxPermSize=128m