0

我正在使用 Tomcat 6 开发 JSP 应用程序。

由于我确实将 Quartz Scheduler Framework 和 Log4J 库添加到项目中,因此 Tomcat 在重新部署时开始抛出此异常。

我已经阅读了有关问题原因的信息,现在我知道这必须与类加载器有关。

所以,我猜这个问题可能是由自动加载一些类的记录器库引起的。

我该如何处理这个问题?有另一种方法可以在不使用 log4j.properties 文件的情况下设置记录器,以确保类加载器能够正常工作。

4

1 回答 1

4

一种方法是通过在下面添加以下 JVM 参数来增加您的 permgen 空间

-XX:MaxPermSize=256m

但它只会延迟OOM错误。如果您一次又一次地重新部署,您将再次遇到 permgen 内存不足。原因在这篇文章中解释的很清楚,这里不再赘述。http://frankkieviet.blogspot.com/2006/10/classloader-leaks-dreaded-permgen-space.html。抱歉,我没有其他方法来设置记录器以避免此问题。在实践中,我总是增加 MaxPermSize,然后在部署前循环服务器。

于 2013-03-18T22:29:42.610 回答