为什么ProGuard输出的JAR文件中没有类文件?

时间:2020-06-10 14:05:46

标签: java proguard war obfuscation

我正在尝试使用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文件中。

我想念什么?

1 个答案:

答案 0 :(得分:2)

ProGuard希望输入类的文件名与其完全限定的类名相对应,并且没有任何前缀,例如“ WEB-INF / classes”。您可能会在日志中看到很多关于它的警告。您可以通过将类放在“ WEB-INF / lib”中的jar中来解决此问题。

请参阅ProGuard手册>故障排除> Warning: class file ... unexpectedly contains class ...