【发布时间】:2018-08-24 19:45:25
【问题描述】:
基本上我有一个能够解析 Java 文件并根据解析值进行一些计算的 Jar 文件。
问题是这个Jar里面的语法老了,只支持Java的1.5版本。看了一圈,发现同一家公司发布的支持Java 1.8版本的语法,所以想用应用程序需要的两个更新文件来更新jar文件。
用JD-GUI分析Jar文件,可以看出这是我要更新的两个文件的位置:
JarDir/foo/bar/Java.g
JarDir/foo/bar/JavaTreeParser.g
首先,我遵循this 的建议并尝试使用 7-zip 来编辑这两个文件。我基本上用 7-zip 打开了 Jar 文件,找到了文件并编辑了它们的内容。在尝试了“更新”的 Jar 之后,它似乎就像在更新之前一样工作。例如,它仍然无法解析这个 ArrayList<String> s = new ArrayList<>();,因为菱形运算符是 Java 7 的补充。
现在我正在考虑像this answer 建议的那样使用jar uf,但我不知道如何指定要插入Jar 的路径。
谁能帮我解决这个问题?
【问题讨论】: