您现在的位置是:网站首页 > 代码编程 > JAVA开发JAVA开发

【原】One or more listeners failed to start. Full details will be found in the appropriate container log file

不忘初心 不忘初心 2021-09-02 围观() 评论() 点赞() JAVA开发

简介:Tomcat启动失败,报错“One or more listeners failed to start. Full details will be found in the appropriate container log file”,多半是因为jar包版本冲突所致。

Tomcat的logs目录下有很多种前缀的log,平时看的最多的就是catalina前缀的log,从来没有关注过localhost前缀的log,今天公司的测试环境项目突然访问不了,同事说Tomcat启动没报错,但是就是访问接口404,百思不得其解,我把日志文件catalina.out拖下来仔细检查了一下,发现log中确实没有报错,但是项目正常启动的log日志打印了一半就没了。

One or more listeners failed to start. Full details will be found in the appropriate container log file

如上图,从我红框处开始,就没有正常的启动日志了,而出现了DataSource关闭时,那一定是项目关闭了,否则数据源不会无缘无故关闭,可以看到确实没有error信息,但接着往下看,在红框下面一行处有一个warning信息,提示“One or more listeners failed to start. Full details will be found in the appropriate container log file”,这个大概的意思就是说项目中的Listener启动失败了,要让我们去看详细的错误日志,一开始还没反应过来,你TM没给我错误信息,我咋在日志里面查看,后来百度了一下,发现网上都说要去看localhost前缀的log文件,跑去一看,好家伙,还真的是在这里。

在相应的localhost.log文件中,我找到了如下错误信息:

Caused by: java.lang.SecurityException: class "org.bouncycastle.math.ec.ECLookupTable"'s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:895)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:665)
at java.lang.ClassLoader.defineClass(ClassLoader.java:758)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2503)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:831)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1274)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
at org.icinfo.gmhelper.SM2Util.<clinit>(SM2Util.java:41)
... 17 more

意思也不难理解,看到same package了,那多半就是jar包冲突了,跑去项目里面搜索一下ECLookupTable这个类,发现它是在bcprov-jdk15on这个包中用到的,利用Maven Helper插件,在idea中直接可以看到那些地方重复引用了这个jar包。

One or more listeners failed to start. Full details will be found in the appropriate container log file

从图中看到,这个jar包有三条应用路径,最上面那个是正常手动引入的,后面两条都是引用了icepdf-core这个包之后,自动帮我们引入的,理论上来说,Maven会自动帮我们选择最优路径,我在本地测试也确实如此,但不知道为什么服务器上就是不行,非得手动处理一下,那我们只选择第一条就好了,问题解决!!!

tomcatjavaspringbootspring

看完文章,有任何疑问,请加入群聊一起交流!!!

很赞哦! ()

文章评论

  • 请先说点什么
    人参与,条评论

请使用电脑浏览器访问本页面,使用手机浏览器访问本页面会导致下载文件异常!!!

雨落无影

关注上方公众号,回复关键字【下载】获取下载码

用完即删,每次下载需重新获取下载码

若出现下载不了的情况,请及时联系站长进行解决

站点信息

  • 网站程序:spring + freemarker
  • 主题模板:《今夕何夕》
  • 文章统计:篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们