你们在工作中是否碰到过这种情况:
Java编译的项目包(war / jar)在多套Linux服务器上部署运行,调用某个功能接口,在服务器A上正常,在服务器B上失败。再换一个服务器C部署,调用该功能接口,可能成功,也可能失败。
这里给大家提供一个思路,因为我已经连续碰到过多次这种情况了。
在功能接口调用失败的服务器上排查报错日志(有的时候,甚至后台没有打印任何报错日志),定位到实现接口功能的相关依赖。然后去pom文件中找到引入依赖的坐标,对比 https://mvnrepository.com/ 上依赖的最新稳定版本和你项目中引入依赖的版本。如果项目中依赖版本过低,把依赖版本升级一下。
基本都能解决 “相同的代码部署在两个或多个不同的Linux服务器上,有些功能会莫名报错” 这个神奇的问题。
可以将这个方法作为首要的排错手段,少走一些弯路。