我拿了一个旧的jar文件并进行了编辑。现在我有一个包含所有文件的文件夹,我想将它们重新编译回jar文件。我该怎么做?
答案 0 :(得分:11)
Jar文件不是正常意义上的“编译”。但是你只需使用jar
命令创建一个:
jar cvf myfile.jar file1 file2 etc
您可以正常使用globbing:
jar cvf ../myfile.jar *
运行jar -?
或阅读docs了解详情。
请注意,对于可执行jar文件,您还需要指定清单文件。
答案 1 :(得分:7)
你是如何编辑的?
无论如何,jar
文件的格式与常规zip
文件的格式相同。如果你想更新jar的内容(可能有一个新文件),你可以这样做:
jar -uf yourJar.jar path/to/updated/Class.class
那将用文件path/to/updated/Class.class
更新你的jar如果在该路径中已经有一个具有该名称的类,它将被替换。如果不是它将被创建。
在此之后你的罐子是最新的。
答案 2 :(得分:1)
Jar文件通常包含已编译的java文件(类文件)和资源。 如果允许您对此jar进行更改,则可以使用JAD反汇编类文件,并在重新编译后使用命令jar再次组装它们
你是如何编辑jar文件的,十六进制编辑器?
答案 3 :(得分:1)
一个jar文件只是一个带有一些额外文件的zip文件。您可以使用任何zip实用程序来重新加入未加工的jar文件。