非法访问:此Web应用程序实例已被停止。无法加载org.apache.log4j.spi.NOPLoggerRepository

时间:2013-04-05 06:45:31

标签: java tomcat tomcat6 netbeans6.7

我正在使用Netbeans 6.7Tomcat 6.0以及jasper报告在Web应用程序中生成报告。我运行我的应用程序时总是遇到这个异常。有人可以帮帮我吗?

例外是

INFO: Illegal access: this web application instance has been stopped already.  Could not load org.apache.log4j.spi.NOPLoggerRepository.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1566)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
        at org.apache.log4j.LogManager.getLoggerRepository(LogManager.java:175)
        at org.apache.log4j.LogManager.getLogger(LogManager.java:199)
        at org.apache.log4j.Logger.getLogger(Logger.java:105)
        at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:283)
        at org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:193)
        at org.hibernate.connection.DriverManagerConnectionProvider.close(DriverManagerConnectionProvider.java:147)
        at org.hibernate.connection.DriverManagerConnectionProvider.finalize(DriverManagerConnectionProvider.java:142)
        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)

2 个答案:

答案 0 :(得分:1)

这可能是由于内存问题,我有这个消息,还有一个 java.lang.OutOfMemoryError:Java堆空间,将启动参数调整为: -XX:PermSize = 512M -Xms1024m -Xmx4096m解决了问题所在。

答案 1 :(得分:0)

我发现在Tomcat上使用Netbeans运行我的JSP Web应用程序时偶尔会遇到类似的错误,并且总是在调试它时。就我而言,"无法加载Java.lang.math或Oracle.lnx.lib" 。一位同事让我从tomcat取消部署Web应用程序实例,它解决了这个问题。要取消部署Web应用程序实例,请转到服务选项卡>服务器,然后双击 Apache Tomcat或TomEE ,在打开netbeans后运行应用程序一次后,应出现一个Web应用程序文件夹。如果双击它,您应该看到应用程序的实例出现。您应该能够右键单击它们,然后单击取消部署(您可能必须右键单击它们并先点击停止)。最后,您应该在构建和运行应用程序之前停止然后启动tomcat。

希望这会有所帮助。

See attached screenshot for clarity