这是关于一次jar包冲突的错误,由于进行项目迁移,需要更换服务器。在所有都准备好以后,程序正常启动,但是在访问一个接口的时候,出现方法未找到的错误,一般这种错误都是jar包冲突导致的,但是想不通的是原来的服务器就没问题,换到新服务器就冲突了?经过一番苦苦寻找,终于找到相互冲突的jar包,然后去掉多余的jar包,重启,接口正常运行。
虽然问题解决了,但是这个问题是怎么出现的还是不清楚,然后各种查资料,终于明白了问题所在。原来是jvm在加载jar的时候是根据linux系统inode号顺序来加载的。
下次再遇到类似的问题,可以直接用 ls -i 命令查看文件的inode号,然后看看两个服务器之间的顺序有哪些差别,这样就会更容易找到问题所在了。
这里面讲到了jvm是如何加载jar包的:https://www.cnblogs.com/saaav/p/7716179.html