美文网首页☕java开发
🚑项目部署|war包部署到新服务器报错java.lang.NoC

🚑项目部署|war包部署到新服务器报错java.lang.NoC

作者: 软泥怪艾德 | 来源:发表于2019-06-13 14:22 被阅读0次

war包部署到新服务器报错java.lang.NoClassDefFoundError: com/sun/jersey/server/impl/ThreadLocalInvoker

今天项目部署到新服务器,本来准备高高兴兴上(hua)班(shui),结果在登陆界面就报了个500的错误,然后往下一看还有这个错误
java.lang.NoClassDefFoundError: com/sun/jersey/server/impl/ThreadLocalInvoker
于是我又把war包在本地的tomcat里面部署了一下,却一切正常。


问题分析
  1. 可能是服务器jdk版本不一致。
  2. 可能是tomcat环境不一致。
问题排查

1.检查jdk版本。

老服务器
新服务器

可以看出并没有什么差别。

2.检查tomcat版本。

老服务器
新服务器

新服务器的tomcat版本要高

问题解决方案

方案一:服务端解决

让新服务器tomcat版本与老服务器一致,但服务器不归我管,只好找另外的解决方案。

方案二:排查代码

jersey1.1.5

从图中可以发现并没有ThreadLocalInvoker这个类,于是去maven库看了一下比较新的版本。然后我把com.cun.jersey相关的所有包升级到1.19

升级maven依赖版本

修改为1.19版 jersey1.19

现在可以看到有ThreadLocalInvoker这个实现类了,重新打包部署。一切正常了。

开心下班🛀

相关文章

网友评论

    本文标题:🚑项目部署|war包部署到新服务器报错java.lang.NoC

    本文链接:https://www.haomeiwen.com/subject/kyqsfctx.html