我有一个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建议的不可行的),但我认为你应该可以用它作为答案。 –