我使用Zelix Klassmaster来混淆我的JAR文件。对于类路径设置,我添加了rt.jar以及所有其他JDK库。但是,在选择我的类文件后,Zelix总是会遇到同样的错误:
C:\Program Files\Java\jdk1.8.0_73\jre\lib\rt.jar!javax/swing/JComponent.class : "Class file 'C:\Program Files\Java\jdk1.8.0_73\jre\lib\rt.jar!javax/swing/JComponent.class' is corrupt. Tag '15' at 1622 is invalid" : File is probably corrupt
Map $ Entry.class也会出现此错误,也可能与其他一些错误一起发生。 我尝试重新安装我的JDK,但这还没有解决问题。有谁知道为什么会这样,以及我如何解决它?目前,我只能混淆使用java.util.Map和javax.swing.JComponent的项目。这真的令人沮丧,我们将非常感谢解决方案。谢谢:D
答案 0 :(得分:0)
Java 8引入了Java类文件格式的一些重要更改。尤其是JVM" invokedynamic"指令现在出现在bootstrap类中。 Zelix KlassMaster 5无法处理Java 8字节码。 Zelix KlassMaster 6.0中引入了对Java 8字节码的支持。除了不使用Java 8或升级您的Zelix KlassMaster版本之外,没有其他解决方法。