为了账号安全,请及时绑定邮箱和手机立即绑定

如何更改 jasper jar 文件中的类

如何更改 jasper jar 文件中的类

偶然的你 2024-01-28 20:22:29
我遇到了 jasper 的一些问题,我需要尝试编辑 jasper.jar 文件中的 SmapUtil 类然而,我这样做面临一些问题。我使用jd-gui反编译jasper.jar文件,取出SmapUtil.java文件,将安装方法从    static void install(File classFile, byte[] smap) throws IOException {      File tmpFile = new File(classFile.getPath() + "tmp");      SDEInstaller installer = new SDEInstaller(classFile, smap);      installer.install(tmpFile);      if (!classFile.delete()) {        throw new IOException("classFile.delete() failed");      }      if (!tmpFile.renameTo(classFile)) {        throw new IOException("tmpFile.renameTo(classFile) failed");      }    }到 static void install(File classFile, byte[] smap){      File tmpFile = new File(classFile.getPath() + "tmp");      SDEInstaller installer = new SDEInstaller(classFile, smap);      installer.install(tmpFile);      while (!classFile.delete());      while (!tmpFile.renameTo(classFile));    }基本上,如果第一次不起作用,则继续尝试删除该文件。现在这就是我面临问题的地方。如果我尝试编译 SmapUtil.java,我会遇到很多丢失的源代码。我尝试过使用 javac -classpath (original)jasper.jar SmapUtil.java,但仍然缺少很多源。我从天知道在哪里下载了一个 jasper-sources.jar 文件并将其用作类路径,但缺少的源仍然存在。我该怎么做呢?我认为更改 jar 内文件的两行应该不那么困难。谢谢
查看完整描述

1 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

编译像 Tomcat 这样的大型项目可能是一项相当复杂的工作。如果您在不了解此过程的情况下尝试反编译/编辑/重新编译,您可能会遇到很多问题。

从源代码构建整个项目可能更容易(或者至少是可预测的)。一旦成功构建它,您就可以尝试编辑源代码。

您应该能够从该项目的网站上查看源代码。

如果您需要修补此类,因为您觉得它无法正常工作,那么可能值得尝试提交错误报告


查看完整回答
反对 回复 2024-01-28
  • 1 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信