【问题标题】:Illegal access- this web application instance has been stopped already.非法访问 - 此 Web 应用程序实例已被停止。
【发布时间】:2016-12-11 12:49:34
【问题描述】:

我收到以下错误,即使从 webapps 文件夹中删除所有内容后,catalina.out 文件也会自动刷新此错误。

我正在使用tomcat7java 1.7 open jdk

Aug 05, 2016 12:54:11 PM org.apache.catalina.loader.WebappClassLoaderBase loadClass
INFO: Illegal access: this web application instance has been stopped already.  Could not load com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException.  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.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1743)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1701)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at com.mysql.jdbc.Util.getInstance(Util.java:381)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1095)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    at sun.reflect.GeneratedConstructorAccessor125.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
    at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
    at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

可能是什么问题?

【问题讨论】:

  • 代码中的错误?宇宙射线?此堆栈跟踪中几乎没有有用的信息。在什么情况下会发生这种情况?也许完全删除您的应用程序会导致比它修复的问题更多的问题。 您是否尝试过关闭服务器然后重新打开?
  • @tadman 是的,重启tomcat7后,这个问题解决了,但我想知道它的原因:-)
  • 我的 JBoss 部署时常会遇到类似的奇怪问题,会引发随机错误,但重新启动就可以解决问题。不确定这些事情发生的原因是否有很好的解释。

标签: java mysql tomcat7


【解决方案1】:

我遇到了类似的问题。就我而言,它是我添加到 apache Tomcat 的 lib 目录中的库 jar。

当我从 lib 目录中的 jar 中引用类时,就会出现此问题。当我将 jar 添加为我的战争的依赖项并将其从 lib 目录中删除时,它解决了我的问题。

在您的情况下,我认为您必须添加到 lib 的 MySQL 驱动程序 jar 导致了此问题。尝试将其添加为 maven 依赖项或作为资源目录中的依赖项,然后将其从 tomcat 的 lib 目录中删除。它应该有助于解决这个问题。

【讨论】:

    猜你喜欢
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多