最近遇到一个坑爹的bug 我在eclipse 上跑出来的程序 结果是对的 但是我用 maven install 导出来的jar 包 在cmd 上运行结果 是错误的 ,然后我用 eclipse 的export 功能 导出来的jar包在cmd中运行 结果是对的。
找了好久 网上没这方面的 说明 最后 问了公司大牛 , 大牛 对比了 一下 发现 在其中调用的类上 大小不一样 用 jd gui 对比了一下 两个类中调用的方法不一样 , 然后 产生这种的原因 是 export 估计 是直接导出你所用的类 而 maven install 是导出 在本地仓库中 这个类 然后 所以产生的结果不一样 , 解决这种问题的办法 就是 在 你运行类所调用的这个类的项目上 用maven build 重新 编译一下 以确保 版本正确! 就能轻松解决了
用jd-gui 反编译 class 文件 发现的版本不一样的地方: