zoukankan      html  css  js  c++  java
  • tomcat java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load []

    1.情景展示

      springboot项目打成的war包,在使用spring自带的tomcat启动可以正常运行,但是,将项目打包到外置tomcat中就启动失败,结果如下:

      java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load []

    2.原因分析

       乍一看,好像和mysql有关系,其实不然,这个报错信息并不是真正引发tomcat启动异常的原因。我们需要锁定的地方是:日志文件。

      真正的报错信息,其实隐藏在localhost.log文件当中

      打开这个日志文件

      真正的异常在这里,根据这个文件的日志信息进一步锁定就可以啦 

      我这里报的是:

      启动过滤器异常 java.lang.AbstractMethodError。 

    3.解决方案

      原来,在java中,高版本的jdk在实现过滤器接口的时候不用重写init()和destroy()方法(jdk>1.8.*,具体是1.8.几不知道);  

      低版本的jdk必须重写上面两个方法,否则,低版本的tomcat启动就会报错。

      重写这两个方法,重新打包,部署到tomcat上,项目就可以正常启动啦。

    // 低版本jdk需要重写这两个方法,否则tomcat启动报错:
    // 抽象方法异常 java.lang.AbstractMethodError
    @Override
    public void init(FilterConfig filterConfig) {}
    @Override
    public void destroy() {}
    

      

    写在最后

      哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

     相关推荐:

  • 相关阅读:
    [自创]mootools所有复选框只能选择一个的功能
    tomcat设置https访问
    更改tomcat运行时标题
    Java日期操作: 查找星期一和星期天
    mysql 常用数据查询
    git pull代码冲突
    antd model form数据不刷新问题
    前端开发常见面试题
    whistle 使用步骤
    windows 环境 启动报错 '.inconfig' 不是内部或外部命令,也不是可运行的程序
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/14202949.html
Copyright © 2011-2022 走看看