我正在使用Tomcat 6开发JSP应用程序。
由于我确实将Quartz Scheduler Framework和Log4J库添加到项目中,因此Tomcat在重新部署时会开始抛出此异常。
我已经知道了问题的原因,现在我知道必须使用类加载器。
所以,我猜这个问题可能是由自动加载某些类的记录器库引起的。
我该如何处理这个问题? 有另一种方法可以在不使用log4j.properties文件的情况下设置记录器,以确保类加载器能够正常工作。
答案 0 :(得分:4)
一种方法是通过将以下JVM参数添加到下面的
来增加permgen空间-XX:MaxPermSize=256m
但它只会延迟OOM错误。如果你一次又一次地重新部署,你将再次遇到permgen内存不足。本文非常清楚地解释了这个原因,我在此不再赘述。 http://frankkieviet.blogspot.com/2006/10/classloader-leaks-dreaded-permgen-space.html。抱歉,我没有不同的方法来设置记录器以避免此问题。在实践中,我总是增加MaxPermSize,然后在部署之前循环服务器。