expected static method

問題描述:

今天在測試代碼時,把一個類中的方法修改成了static方法(系統沒有重啓,因爲在配置文件裏面設置的是實時編譯),然後在其他方法中調用這個static方法時後臺報錯: java.lang.IncompatibleClassChangeError: expected static method GwkController.toTitle()......查看編譯過後的文件,發現文件編譯正常,所修改的方法也被編譯成了static方法,查看源代碼+猜測:(spring在項目啓動時會掃描指定的文件,然後把掃描過的文件中的方法放入到spring容器中,而在代碼修改時則可以自動進行容器中的代碼隨着改變,而容器中方法的訪問範圍則不可隨着改變,若要改變方法的訪問範圍則需要進行容器中方法的重新加載,比如你在Controller中重新添加一個新的方法然後去訪問,則訪問不到需要重新啓動纔可以,而如果修改方法中的代碼,則可以生效,所以纔出現這個問題,若有大佬知道原因,跪求解答

解決辦法:

重新啓動服務,然後再進行運行測試,問題解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章