【问题标题】:Creating and modifying files inside jar [duplicate]在jar中创建和修改文件[重复]
【发布时间】:2012-08-29 13:50:21
【问题描述】:

是否可以在 jar 中创建或修改文件,如果可以,如何实现?

【问题讨论】:

  • 一个 JAR 只是一个存档,所以它是可能的。您想在应用程序本身中执行此操作还是手动执行此操作?
  • 为什么要修改jar里面的东西?

标签: java jar executable-jar


【解决方案1】:

一种可能的解决方案是解压缩jar,对其进行修改并重新压缩。

注意:您可以使用 7-zip 或 WinRar 之类的实用程序来提取它。

【讨论】:

    【解决方案2】:

    如果您想通过命令提示符执行此操作,可以使用 jar 命令(或)您可以使用 winzip(或)winrar 工具。

    例子:

    jaruf foo.jar -C 类。 -C bin xyz.class

    【讨论】:

      【解决方案3】:

      好的,这里有两种方法:

      1. 使用您最喜欢的 zip 应用程序,解压缩,更改文件并重新压缩。

      2. 使用像 Zip4J 这样的 zip 库并在您的 java 应用程序中执行相同的操作。

      【讨论】:

        【解决方案4】:

        总之,是的,这是可能的,您有多种选择:

        1. 修改现有的 jar 文件。为此,请提取 jar 文件(使用您需要的任何提取器),修改您想要的文件(如果您没有源代码,请反编译)然后重新打包 jar。

        2. 如果你不想麻烦改jar,你想复制现有的类文件(如果你没有源代码,再次反编译),进行你想要的更改,编译它并确保您的类文件位于 CLASSPATH 中的 jar 之前。这样,当您的 VM 进行类加载时,它会首先获取您修改后的类,然后忽略 jar 中的类。

        【讨论】:

          猜你喜欢
          • 2012-03-09
          • 1970-01-01
          • 2013-05-30
          • 1970-01-01
          • 2011-01-12
          • 2014-06-08
          • 2015-02-18
          • 1970-01-01
          • 2010-11-16
          相关资源
          最近更新 更多