你如何重新编译一个jar文件?

时间:2010-07-28 06:55:17

标签: java jar directory executable-jar

我拿了一个旧的jar文件并进行了编辑。现在我有一个包含所有文件的文件夹,我想将它们重新编译回jar文件。我该怎么做?

4 个答案:

答案 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文件。