美文网首页☕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