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

Kyl*_*yle 6 java directory jar executable-jar

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

Jon*_*eet 11

Jar文件不是正常意义上的"编译".但是你只需用jar命令创建一个:

jar cvf myfile.jar file1 file2 etc
Run Code Online (Sandbox Code Playgroud)

您可以正常使用globbing:

jar cvf ../myfile.jar *
Run Code Online (Sandbox Code Playgroud)

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

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


Osc*_*Ryz 7

你是怎么编辑的?

无论如何,jar文件遵循与常规zip文件相同的格式.如果你想更新jar的内容(可能有一个新文件),你可以这样做:

jar -uf yourJar.jar  path/to/updated/Class.class 
Run Code Online (Sandbox Code Playgroud)

那将用文件更新你的jar path/to/updated/Class.class如果在该路径中已经有一个具有该名称的类,它将被替换.如果不是它将被创建.

在此之后你的罐子是最新的.