# 指定输入和输出文件
-injars 'input.jar'
-outjars 'output.jar'
# 指定库文件
-libraryjars 'C:\Program Files\Java\jdk1.8.0_251\jre\lib\rt.jar'
# 保留公共API
-keep public class * extends javax.servlet.http.HttpServlet
-keep public class * extends javax.servlet.Servlet
-keep public class * extends javax.servlet.Filter
# 保留注解
-keepattributes *Annotation*
# 保留枚举
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# 保留序列化类
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
!private <fields>;
!private <methods>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# 保留Spring框架相关
-keep @org.springframework.stereotype.Controller public * {*;}
-keep @org.springframework.web.bind.annotation.RestController public * {*;}
# 保留Hibernate相关
-keep class org.hibernate.proxy.HibernateProxy
# 其他自定义规则
-keep class com.yourcompany.yourapp.** { *; }