问题描述
最初的错误是,在fane-lib-java包里,出现了NPE异常。
我的应用程序,引用了一个fane-lib-java包。lib包中的fane-core 和 fane-data-sdk-plus两个module.
由于在本地windows机器local debug、直接运行、鼠标追踪,均是定位到 fane-core的QuantScenarioDefModel.java,因此我只在fane-core这里修复了NPE。
然而,一旦部署到at、sit 环境的Linux服务器,就会出现NPE异常
报错方法已经按照堆栈提示增加了防御式编程,但无论加上什么log都不会进入该方法。
同时,也确定了服务器上使用的是最新的包了,但依然无解。
解决方法
使用(右键-》Find Usage)查询可疑字段、可疑方法的使用情况,发现 另一个module fane-data-sdk-plus下面存在一个“同包同名”的类。该类尚未更新。
因此推测:
- 在windows系统,由于某些原因,会优先加载 fane-core里面的QuantScenarioDefModel.java类
- 在Linux系统,由于某些原因,会优先加载 fane-data-sdk-plus里面的QuantScenarioDefModel.java类
workaround是:将两个类同时进行修改。
标签:core,fane,NPE,try,plus,Debug,java,sdk From: https://www.cnblogs.com/frankcui/p/16968487.html