序
本文主要研究一下如何使用proguard混淆java9代码
maven
com.github.wvengen
proguard-maven-plugin
package
proguard
6.0.1
${project.build.finalName}.jar
${project.build.finalName}.jar
!META-INF/maven/**,!module-info.class
true
${project.basedir}/proguard.cfg
${java.home}/jmods/java.base.jmod(!**.jar;!module-info.class)
net.sf.proguard
proguard-base
6.0.1
runtime
这里使用6.0.1版本的proguard-base
proguard.cfg
-target 9
-dontshrink
-dontoptimize
-useuniqueclassmembernames
-adaptclassstrings
-dontusemixedcaseclassnames
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keepclasseswithmembers public class * { public static void main(java.lang.String[]);}
这里target要指定为9版本