书山有路勤为径,学海无涯苦作舟。

0%

java更改字段类型导致Flex报NoSuchMethodError的错误

普通的一天,从梦想开始。

想到那蛋疼的KPI一大团的难题,想都那个改了SP的类型为何flex就不能访问了。

本来想早点去公司全力以赴的,奈何睡神打败了我,比闹钟提前十多分钟醒来。

经过一天的奋战,终于把kpi的问题解决了,擦着汗水笑不了,因为那个蛋疼的SP!

 

这里说下这个问题的情况:

之前这个字段spnumber在java中定义为int,大家知道java中int的最大值是2147483647。

但是后来发现10位数已经满足不了spnumber的需求了。

然后我改成long,long的最大值有19位9223372036854775807。可以满足需求了。

改完数据类型后,get set方法也相应改掉,get方法名为getSpNumber()。

改完后,因为flex都是用Number处理,不需更改,然后我编译java,重启web server,然后在flex访问就出现了一个错误:

NoSuchMethodError:getSpNumber()I …

我百思不得其姐,好好的方法怎么会出现后面多个I呢。

认为是什么缓存之类的,反复的build项目,clean项目,清除浏览器缓存,都无效。

内牛满面了。

更搞的是,我把spnumber从long改回int,又不报错了。

顺便说下,我的开发工具是eclipse+flex builder,通过blazeds通信,之前一直可以调试java,但是这两天忽然的就无法调试了。

反复的搞就是不行,不能调试对于程序员来说简直是致命的打击。

今天忽然的就好了。

插话完毕。

然后我想试试运行到这个类内部是怎么执行的,就加个断点。按照惯例,需要改变一下代码然后编译一下再试才能进入断点。

然后尼玛突然可以了。不报那个错误了!!!

总结:还是缓存!!!

遇到这种问题,啥都别说,执行哪个方法出错的,就改下这个方法的代码,build一下,重新运行,保证OK!

google 百度没帮到我..

逐鹿IT, 猛猛如玉 wechat
扫一扫关注我,有惊喜不迷路
(转载本站文章请注明作者和出处: 逐鹿IT 猛猛如玉
网址: https://amonxu.com 微信公众号: itcraft
可以请我喝瓶水吗:)