개발/java
Illegal access: this web application instance has been stopped already. 오류 해결 방법
개발자와코더사이가 PM일까?
2022. 12. 12. 00:00
반응형
이클립스에서 개발을 하는데 아래와 같은 오류가 발생하기 시작했다.
이게 뭘까?라는 고민을 했는데 인터넷에서 찾아보고 아래와 같은 답을 찾았다.
org.apache.catalina.loader.WebappClassLoaderBase checkStateForResourceLoading
정보: Illegal access: this web application instance has been stopped already. Could not load [ch.qos.logback.classic.spi.ThrowableProxy]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [ch.qos.logback.classic.spi.ThrowableProxy]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1325)
at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1313)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1178)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
at ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:119)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:419)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
at ch.qos.logback.classic.Logger.error(Logger.java:538)
java.lang.NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy
at ch.qos.logback.classic.spi.LoggingEvent.<init>(LoggingEvent.java:119)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:419)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
at ch.qos.logback.classic.Logger.error(Logger.java:538)
[해결방안]
1. 톰캣 서버가 started인 상태에서 클래스 파일을 수정하거나 저장을 하면 자동 reloading이 되면 발생하는 에러라고 한다.
따라서 server.xml에서 reloadable="false"로 변경하면 해결 할 수 있다고 한다.
2. 아니면 tomcat이 실행 중인데 특정 jar파일을 수정,삭제 시 발생하는 에러라고도 한다.
또는 tomcat destroy 시 logback을 종료 시키는 오류라고 하기도 한다.
결론적으로는 개발툴과 톰캣을 사용중에 소스나 관련 jar파일을 수정해서 생기는 오류라고 판단한다.
즉.. 운영 서버에서는 날 가능성이 거의 없어 보인다.