问题场景
在使用Maven + Proguard打包项目进行混淆时,提示以下错误:
[proguard] ProGuard, version 4.4 [proguard] Reading input… [proguard] java.io.IOException: The input doesn’t contain any classes. Did you specify the proper ‘-injars’ options? [proguard]at proguard.InputReader.execute(InputReader.java:91) [proguard]at proguard.ProGuard.readInput(ProGuard.java:195) [proguard]at proguard.ProGuard.execute(ProGuard.java:78) [proguard]at proguard.ProGuard.main(ProGuard.java:499)问题分析
缺少injars配置项! -injars {class_path} 指定要处理的应用程序jar,war,ear和目录
解决方案
添加injars配置项,由于是Web项目,所以这里指定的是war
<injar>${project.build.finalName}.war</injar>
完整示例:
>proguard-maven-plugin>>>>true>>lib/servlet-api.jar>false>${project.build.finalName}-pg.war>>>4.4></dependencies></plugin>
,我们可以失望,但不能盲目。