expected static method

问题描述:

今天在测试代码时,把一个类中的方法修改成了static方法(系统没有重启,因为在配置文件里面设置的是实时编译),然后在其他方法中调用这个static方法时后台报错: java.lang.IncompatibleClassChangeError: expected static method GwkController.toTitle()......查看编译过后的文件,发现文件编译正常,所修改的方法也被编译成了static方法,查看源代码+猜测:(spring在项目启动时会扫描指定的文件,然后把扫描过的文件中的方法放入到spring容器中,而在代码修改时则可以自动进行容器中的代码随着改变,而容器中方法的访问范围则不可随着改变,若要改变方法的访问范围则需要进行容器中方法的重新加载,比如你在Controller中重新添加一个新的方法然后去访问,则访问不到需要重新启动才可以,而如果修改方法中的代码,则可以生效,所以才出现这个问题,若有大佬知道原因,跪求解答

解决办法:

重新启动服务,然后再进行运行测试,问题解决。

发布了61 篇原创文章 · 获赞 9 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/u012129030/article/details/101027545
今日推荐