我遇到了 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 内文件的两行应该不那么困难。
谢谢
一只萌萌小番薯
相关分类