servlets.pro revision b72c5c2e5482cf10117b2b25f642f7616b2326c3
1# 2# This ProGuard configuration file illustrates how to process servlets. 3# Usage: 4# java -jar proguard.jar @servlets.pro 5# 6 7# Specify the input jars, output jars, and library jars. 8 9-injars in.jar 10-outjars out.jar 11 12-libraryjars <java.home>/lib/rt.jar 13-libraryjars /usr/local/java/servlet/servlet.jar 14 15# Preserve all public servlets. 16 17-keep public class * implements javax.servlet.Servlet 18 19# Print out a list of what we're preserving. 20 21-printseeds 22 23# Preserve all annotations. 24 25-keepattributes *Annotation* 26 27# Preserve all native method names and the names of their classes. 28 29-keepclasseswithmembernames class * { 30 native <methods>; 31} 32 33# Preserve the special static methods that are required in all enumeration 34# classes. 35 36-keepclassmembers class * extends java.lang.Enum { 37 public static **[] values(); 38 public static ** valueOf(java.lang.String); 39} 40 41# Explicitly preserve all serialization members. The Serializable interface 42# is only a marker interface, so it wouldn't save them. 43# You can comment this out if your library doesn't use serialization. 44# If your code contains serializable classes that have to be backward 45# compatible, please refer to the manual. 46 47-keepclassmembers class * implements java.io.Serializable { 48 static final long serialVersionUID; 49 static final java.io.ObjectStreamField[] serialPersistentFields; 50 private void writeObject(java.io.ObjectOutputStream); 51 private void readObject(java.io.ObjectInputStream); 52 java.lang.Object writeReplace(); 53 java.lang.Object readResolve(); 54} 55 56# Your application may contain more items that need to be preserved; 57# typically classes that are dynamically created using Class.forName: 58 59# -keep public class mypackage.MyClass 60# -keep public interface mypackage.MyInterface 61# -keep public class * implements mypackage.MyInterface 62