6

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

4

4 回答 4

11

Jar 文件不是正常意义上的“编译”。但是您只需使用以下jar命令创建一个:

jar cvf myfile.jar file1 file2 etc

您可以正常使用通配符:

jar cvf ../myfile.jar *

运行jar -?或阅读文档以获取更多信息。

请注意,对于可执行 jar 文件,您还需要指定清单文件。

于 2010-07-28T06:58:31.437 回答
7

How did you edit it?

Anyway, jar files follow the same format as regular zip files. If you want to update the content of the jar ( probably with a new file ) you could do:

jar -uf yourJar.jar  path/to/updated/Class.class 

That would update your jar with the file path/to/updated/Class.class If there's already a class with that name in that path, it would be replaced. If is not it would be created.

After this your jar is up to date.

于 2010-07-28T08:18:43.973 回答
1

Jar 文件通常包含已编译的 java 文件(类文件)和资源。如果允许您对此 jar 进行更改,您可以使用JAD反汇编类文件,并在重新编译后使用命令jar再次组装它们

你是如何编辑 jar 文件的,十六进制编辑器?

于 2010-07-28T07:01:57.060 回答
1

A jar file is just a zip file with a few extra files. You Can use any zip utility to rejar an unjarred jar file.

于 2010-07-28T08:14:01.707 回答