我有一个.jar文件,需要修改其中的一些类。我不太清楚作者是如何编译所有东西的,因为我不是一个应用程序开发人员。但我有一些他的包的源代码。我是否可以修改.java文件,将其编译为.class文件,并将其与.jar中的文件交换?
发布于 2016-01-11 00:38:47
是。除非JAR是加密签名的,并且在运行时验证了它的签名(一些容器确实验证jar文件签名,如果有的话),否则您可以在jar文件中交换二进制类文件。但是,如果您不希望在运行时遇到错误,则需要确保不破坏与现有类的二进制兼容性。.jar文件实际上是一个具有.jar扩展名的ZIP文件。
发布于 2016-01-11 00:33:52
jar文件只是一个zip文件,所以您只是重新编译您应该没有问题。
发布于 2016-01-11 00:34:50
是的,您可以使用类似于7-zip的实用工具解压缩jar文件,并用新编译的文件替换所需的".class“文件。
https://stackoverflow.com/questions/34712454
复制相似问题