获得部署时错误java.lang.NoClassDefFoundError: org/apache/tomcat/uti



我正在尝试将我的应用程序服务器(JBOSS EAP)从6.4迁移到7.4.3。但是,在迁移之后,我在spring引导微服务部署时得到以下错误:

肇因:java.lang.NoClassDefFoundError: org/apache/tomcat/uti/res/stringmanager

因此,在做了一些研究之后,我从我的maven中删除了几个基本的tomcat依赖项(tomcat- embedded -el-9.0.58和tomcat- embedded -websocket-9.0.58),部署时间问题得到了解决。现在,我可以在新的本地JBOSS EAP 7.4.3服务器上部署应用程序。但是,上面提到的两个依赖关系是必不可少的,我们不能根据我们的上层环境配置排除它们。

如果你以前遇到过这个问题,你能给我一些除了上面的解决方案(意思是不删除tomcat依赖)吗?谢谢大家!

问候,:

EAP 7.4使用的是Undertow而不是Tomcat,所以Tomcat类不可用。此外,依赖代码内部的规范实现确实是一种不好的做法。解决方法是删除该Tomcat类的所有使用,或者使其成为应用程序的一部分。

最新更新