【发布时间】:2011-03-22 00:03:07
【问题描述】:
我拿了一个旧的 jar 文件并对其进行了编辑。现在我有一个包含所有文件的文件夹,我想将它们重新编译回 jar 文件。我该怎么做?
【问题讨论】:
-
jar 中有 .java 文件吗?
标签: java jar directory executable-jar
我拿了一个旧的 jar 文件并对其进行了编辑。现在我有一个包含所有文件的文件夹,我想将它们重新编译回 jar 文件。我该怎么做?
【问题讨论】:
标签: java jar directory executable-jar
Jar 文件不是正常意义上的“编译”。但是您只需使用jar 命令创建一个:
jar cvf myfile.jar file1 file2 etc
您可以正常使用通配符:
jar cvf ../myfile.jar *
运行jar -? 或阅读docs 了解更多信息。
请注意,对于可执行的 jar 文件,您还需要指定清单文件。
【讨论】:
你是怎么编辑的?
无论如何,jar 文件遵循与常规zip 文件相同的格式。如果您想更新 jar 的内容(可能使用新文件),您可以这样做:
jar -uf yourJar.jar path/to/updated/Class.class
这将使用文件 path/to/updated/Class.class 更新您的 jar 如果该路径中已经有一个具有该名称的类,它将被替换。如果不是,它将被创建。
在此之后,您的 jar 是最新的。
【讨论】:
jar 文件只是一个带有一些额外文件的 zip 文件。您可以使用任何 zip 实用程序来重新压缩未压缩的 jar 文件。
【讨论】: