匿名內部類編譯生成的class文件


一、問題描述

  跳槽到的新公司,相比原來的公司,軟件開發非常不規范,經常各種坑。項目部署到生產現場之后,出現問題,我在修改之后編譯生成class文件,然后將class文件發給現場的技術支持,技術支持將class文件直接替換到生產環境,然后重啟服務,這樣的操作需要非常小心,因為客戶隨時都在用着系統。最近現場又發現了一個問題,我修改代碼之后將calss文件發給現場,現場部署之后發現報錯,顯示類找不到。我修改后的文件中使用到了匿名內部類,正是這個內部類就沒有被找到。下面是正常代碼:

 

 我將對應的class文件復制到桌面,重新用idea打開,顯示如下:

 

從圖中可以看出明顯是找不到1這個類,突然想到這應該是因為編譯出的class應該不止一個文件,於是在idea對應的class文件右鍵show in Explorer:

 

 果然發現編譯產生了兩個class文件,報錯的原因是因為我替換的時候只替換了一個calss文件,所以報找不到類的錯誤。

二、解決方法

將編譯生成的兩個class文件同事替換,問題解決。匿名內部類再編譯的時候會產生兩個class文件,替換的時候一定要注意。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM