我有一個jar文件,我需要做一個小改動。我刪除損壞的類文件並用JAD反編譯它們。但是在我修復它們之後,我需要重新編譯。當我重新編譯我明顯得到錯誤,因爲我只編輯一個文件。但我知道你可以將修改後的類文件注入到jar中。 所以我的問題是:是否有可能迫使java編譯文件,所以我可以重新插入它們?唯一的錯誤是依賴和包沒有找到,但如果我把它放回jar中它會發現它們。強制java重新編譯不良類
0
A
回答
0
您可以使用實現接口和對象組合的方式開發與添加更改相同的類。在它開發自定義的類加載器來卸載舊的類並加載新的。但這很難做到。
+0
這聽起來比從jar中提取類文件,反編譯,改變它,再次編譯它 - 在classpath中更改.jar)並將其放回到.jar文件中聽起來要複雜得多。 –
+0
你有沒有讀過的問題?引用:當我重新編譯時,我明顯得到錯誤,因爲我只編輯一個文件 –
+0
是的,我讀過,但我沒有看到任何理由爲什麼在類路徑中包括.jar文件無助於應對這種情況。 –
相關問題
- 1. Angular:如何強制重新編譯塊
- 2. 如何強制MinGW重新編譯everyhing
- 3. 如何強制包重新編譯Yocto
- 4. 如何強制JSP重新編譯
- 5. Prestashop:SMARTY - 當文件被修改時強制編譯/重新編譯
- 6. 如何強制重新編譯調用宏的類?
- 7. make:用不同的編譯器強制重新編譯相同的對象
- 8. 重新編譯Java內置類
- 9. 強制Tomcat 3.3編譯器將Java編譯爲Java 1.5
- 10. 反編譯Java類然後重新編譯?
- 11. Java玩! 2不重新編譯
- 12. 如何強制Apple的OpenCL編譯器重新編譯緩存的內核?
- 13. Java類刪除並重新編譯但仍不會更改?
- 14. Matlab在重新編譯時看不到java類中的更改
- 15. 如何強制Jinja2模板重新編譯?
- 16. 如何強制我的ASP.net 2.0應用程序重新編譯
- 17. Qt:強制每次編譯時重新加載資源
- 18. 如何在更改Makefile標誌時強制重新編譯?
- 19. 強制NetBeans 7.3在測試運行時重新編譯項目?
- 20. 如何在VS2013中強制使用TypeScript重新編譯?
- 21. 如何強制重新編譯Makefile中的單個文件?
- 22. 資產管道強制js.erb重新編譯
- 23. 確實豐富了Poco或Inteface,強制重新編譯?
- 24. 強制ERL -make重新編譯文件時宏改變
- 25. 如何用cmake強制重新編譯應用程序
- 26. SQL Server - 強制NO重新編譯存儲過程
- 27. 如何強制在JBoss 4.2中重新編譯jsps?
- 28. 如何使Java編譯器強制顯式類型轉換
- 29. Java:編輯並重新編譯.jar?
- 30. 如何強制tomcat重新加載最近編譯的類/ war文件
不可能。編譯器總是會拒絕生成它不能確保的類型安全的代碼。爲此,它必須提供所有的依賴關係。但假設你可以運行你的JAR,那麼你就有這些依賴關係。爲什麼不把它們放在編譯器的類路徑上? – Jochen
http://stackoverflow.com/questions/946071/re-compile-a-java-class-from-jar?rq=1 – fvu
歡迎Ethan。我不確定fvu是否剛剛發佈了一個鏈接到一個完全相同的副本(至於「強制java編譯器」部分,這是Jochen建議的不可行的),但我認爲你應該可以用它作爲答案。 –