有没有办法修补jar文件?

2022-09-03 02:33:36

假设我向某人发送了一个大罐子或战争文件。我以后可以只改变一小段并把它发给他吗?假设我刚刚更改了一个类文件。我将 java 重新编译为一个类文件。除了将新的类文件交换为旧的类文件之外,我还需要做些什么吗?

在java中,您是否必须重建整个jar /war文件?另外,是否有一些开源软件包可用于进行更新?


答案 1

接收类文件的人可以简单地将该文件添加到jar中,只要他们知道要将其放入哪个目录中即可。厌倦了签名的罐子,如评论中所述。

jar uf foo.jar foo.class

http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/jar.html


答案 2

您可以通过这种方式复制修改后的.class文件。

jar uf test.jar com\test\Test.class

如果有一种合乎逻辑的方法可以在单独的jar文件中分离出组件,那么我会为每个组件类型创建一个jar文件。这样,您就不会将所有内容重新分发回客户端。例如 - 看看Spring 3如何将组件分离出来。


推荐