出現(xiàn)了錯(cuò)誤異常:
信息: Illegal access: this web application instance has been stopped already. Could not load java.net.BindException. 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:1273)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at com.mysql.jdbc.SQLError.createLinkFailureMessageBasedOnHeuristics(SQLError.java:1220)
at com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java:51)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1070)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3270)
at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1659)
at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4296)
at com.mysql.jdbc.ConnectionImpl.cleanup(ConnectionImpl.java:1265)
at com.mysql.jdbc.ConnectionImpl.finalize(ConnectionImpl.java:2667)
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)
在啟動(dòng) tomcat ,并發(fā)布應(yīng)用后沒(méi)有問(wèn)題,但是如果重新發(fā)布就出現(xiàn)如下異常:
this web application instance has been stopped already. Could not load java.net.BindException
this web application instance has been stopped already. Could not load com.mysql.jdbc
這是由于 MySQL 的 JDBC 驅(qū)動(dòng)放在應(yīng)用的 WEB-INF\lib 目錄下,在重新發(fā)布時(shí)其加載了兩次,故只要將其拷貝到 TOMCAT_HOME%\lib 中即可解決該問(wèn)題。
解決這兩個(gè)異常可以將 MySQL 的驅(qū)動(dòng)文件從 WEB-INF\lib 文件夾中移動(dòng)到 %TOMCAT_HOME%\lib 中。