Tomcat部署:org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败

能否提供一个可重现问题的测试项目?

我试着创建的新项目没有这样的问题,目前就是我在用的这个项目有这个问题。
目前好像是java.lang.ClassNotFoundException: com.sun.xml.bind.v2.model.annotation.AnnotationReader这个错误,导致相关的插件无法使用,我试着创建的新项目,没有出现类似的情况。这个情况,我之前也出现过,就是报表插件不能使用,后来就放弃这个插件了 :sob:。我试着看看能不能从这个项目中抽离出一个有该问题的测试项目

1、https://gitee.com/yang-jie5/test.git
2、localhost.2022-05-17.log (88.5 KB)
您好,以上链接是当前有问题的项目,文件是当日的报错日志,主要问题还是java.lang.ClassNotFoundException:com.sun.xml.bind.v2.model.annotation.AnnotationReader,目前本地上也无法部署成功。按理而言是jdk版本的问题,但在build.gradle中加入相关包或者换成jdk8仍无法解决问题。以上项目是抽离出来的测试系统,当前项目无法启动(卸掉restAPI后可正常启动),望您抽空浏览一下该测试系统,万分感激!

你好,这个问题的原因如下:
aliyun-java-sdk 引入了 glassfish 下的一个 jaxb-core 包,与 com.sun.xml.bind 下的 jaxb-core.jar 冲突,cuba 在部署的时候选择了glassfish 下的的 jaxb-core.jar 。所以看似有 jaxb-core.jar ,但是命名空间是不一样的。
解决方法:
将附件中的 jar 复制到 tomcat 的 lib 目录。
jaxb-core-2.3.0.jar (249.5 KB)

1 个赞

好的,我先试试,感谢。

已解决,万分感谢。