我正在尝试使用ProGuard混淆我的JAR文件。
特别是...我有一个Java / Spring网络应用程序。因此,我生成了一个WAR文件。
我已将所有类从WAR文件的/ WEB-INF / classes文件夹复制到新的JAR文件中。
我启动了ProGuard GUI,并选择了我的JAR文件作为输入。我指定了一个新的output.JAR文件。然后我将所有/WEB-INF/lib/*.jar文件添加为“库jars”。
我接受ProGuard GUI中的所有默认设置,并且单击“处理!”。在最后一页上,它进行了处理……有一个“库类的重复定义”注释列表(我敢肯定我可以忽略它)。
然后生成输出JAR。但是输出JAR中仅包含三个类文件...其中的文件是我编写的用于进行简单代码测试的简单小测试类,并且不以任何方式接触应用程序的其余部分。
我的Web应用程序的所有类文件都不在输出JAR文件中。
我想念什么?
ProGuard希望输入类的文件名与其完全限定的类名相对应,并且没有任何前缀,例如“ WEB-INF / classes”。您可能会在日志中看到很多关于它的警告。您可以通过将类放在“ WEB-INF / lib”中的jar中来解决此问题。
请参阅ProGuard手册>故障排除> Warning: class file ... unexpectedly contains class ...