【问题标题】:Modifying a jar file修改 jar 文件
【发布时间】:2011-01-12 05:26:29
【问题描述】:

我有一个 jar 文件,它在 html 文件中用作小程序。我想修改 jar 文件的内容并重建 jar 文件,以便 html 可以与新的 jar 文件一起正常工作。我该怎么做??

我已经尝试使用 7zip 解压缩并修改了源代码并创建了新的 jar。但是当我在 html 中使用它时,它会显示一些 java.lang.Classnotfound 错误

【问题讨论】:

  • “修改内容”是什么意思?你说的是代码还是jar中的资源(图片等)?
  • 如果您对@mmyers 评论的回答是肯定的,那么 Winrar FTW ......

标签: java eclipse jar


【解决方案1】:

您可以根据需要解压缩或重新压缩类和源文件。

解压

jar -xvf abc.jar 

罐子

jar cf abc.jar input-files

http://docs.oracle.com/javase/tutorial/deployment/jar/build.html

【讨论】:

    【解决方案2】:

    更改代码(.java 文件),重新编译以获取 .class 文件。然后只需将 jar 中的旧 .class 文件替换为新文件即可。我通常使用 WinZip,但您可以使用任何可以处理 .Zip 文件的应用程序。它应该可以工作。

    我遇到过应用启动器使用某种验证并检查此类更改的情况。我不得不使用新的启动脚本。不过,这似乎不是你的情况。

    【讨论】:

      【解决方案3】:

      这在命令行中肯定是可能的。为jar 使用u 选项

      来自 Java 教程:

      jar uf jar-file input-file(s)
      

      “存档中已存在的与正在添加的文件具有相同路径名的任何文件都将被覆盖。”

      Updating a JAR File

      一个简短的测试表明,除了尝试删除文件之外,它还可以快速更新更改。

      我还没有在其他关于修改 jar 文件的线程上看到这个答案,并且许多标记为重复项表明除了完全重新制作 jar 之外别无选择。如有错误请指正。

      【讨论】:

        【解决方案4】:

        JAR 只是 ZIP 文件,使用您喜欢的任何实用程序并进行编辑!

        【讨论】:

          【解决方案5】:

          免责声明:在对任何代码进行逆向工程时,请确保您遵守法律的限制并遵守该代码的许可。

          按照上述说明解压 JAR。

          找到 JAR 的原始源代码(可能在 SourceForge 上)并下载源代码、修改源代码并重新构建您自己的 JAR。

          您还可以反编译 JAR 中的类文件。这是一个相当高级的过程,并且有很多“陷阱”。

          【讨论】:

            猜你喜欢
            • 2011-01-28
            • 2010-11-16
            • 1970-01-01
            • 2010-09-09
            • 1970-01-01
            • 2021-11-23
            • 2013-07-25
            • 2010-10-31
            • 1970-01-01
            相关资源
            最近更新 更多