执行Maven Install打包的时候,出现以下错误信息:
[proguard] Error: Unsupported java version '1.8' in line 2 of file 'F:\Workspaces\pro-test\proguard.conf',
[proguard] included from argument number 6
这是因为在proguard.conf文件中显示的指定的Java的版本,但是net\sf\proguard\proguard\4.4\proguard-4.4.jar并不支持指定的版本,我试了一下,只支持到1.6。
根据我的分析,com.pyx4me的proguard-maven-plugin最高版本才2.0.4,支持的net.sf.proguard的proguard-base的最高版本才4.4,
所以根本不支持Java 1.7和Java 1.8。
解决方案:
改用com.github.wvengen的proguard-maven-plugin
repo地址为:http://repo1.maven.org/maven2/com/github/wvengen/proguard-maven-plugin/
完整示例如下:
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.10</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<proguardVersion>5.2</proguardVersion>
<obfuscate>true</obfuscate>
<proguardInclude>${basedir}/proguard.conf</proguardInclude>
<!-- 添加依赖,这里你可以按你的需要修改 -->
<libs>
<lib>${java.home}/lib/rt.jar</lib>
<lib>E:/tomcat-8.0/lib/jsp-api.jar</lib>
<lib>E:/tomcat-8.0/lib/servlet-api.jar</lib>
</libs>
<addMavenDescriptor>false</addMavenDescriptor>
<injar>${project.build.finalName}.war</injar>
<outjar>${project.build.finalName}-pg.war</outjar>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
<dependencies>
<!-- 使用5.2版本来混淆 -->
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>5.2</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>