【问题标题】:How do you recompile a jar file?你如何重新编译一个jar文件?
【发布时间】:2011-03-22 00:03:07
【问题描述】:

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

【问题讨论】:

  • jar 中有 .java 文件吗?

标签: java jar directory executable-jar


【解决方案1】:

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

jar cvf myfile.jar file1 file2 etc

您可以正常使用通配符:

jar cvf ../myfile.jar *

运行jar -? 或阅读docs 了解更多信息。

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

【讨论】:

    【解决方案2】:

    你是怎么编辑的?

    无论如何,jar 文件遵循与常规zip 文件相同的格式。如果您想更新 jar 的内容(可能使用新文件),您可以这样做:

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

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

    在此之后,您的 jar 是最新的。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        jar 文件只是一个带有一些额外文件的 zip 文件。您可以使用任何 zip 实用程序来重新压缩未压缩的 jar 文件。

        【讨论】:

          猜你喜欢
          • 2016-12-05
          • 2012-03-23
          • 1970-01-01
          • 2016-07-21
          • 2018-07-25
          • 2010-09-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多