"defaultExclude.txt"
file. They cannot be altered by using this dialog.
List item | Explanation |
Non-extensible library |
Your application is a "non-extensible library" if it does not form a complete application in its own right but rather is intended to be used by other developers
as part of their application without them having to extend any of your classes. An example is a 3rd party statistics library.
This setting of the "Application type" list means that your public classes, fields and methods need to be accessible to other classes but your classes will not be extended or implemented by other classes. It adds exclusion parameters that prevent your public classes, fields and methods from being renamed. |
Extensible framework |
Your application is an "extensible framework" if it does not form a complete application in its own right but rather is intended to be extended by other developers to become part of their application. The key difference between an "extensible framework" and a "non-extensible library" is that an "extensible framework" has classes that are abstract which need to be extended before they can do real work.
This setting of the "Application type" list means that your public classes, fields and methods and protected fields and methods need to be accessible to other classes because your classes will be extended or implemented by other classes. It adds exclusion parameters that prevent your public classes, fields and methods and protected fields and methods from being renamed. |
J2ME MIDlet | This setting of the "Application type" list means that your classes are J2ME MIDlets. It adds exclusion parameters that prevent your MIDlets and their containing packages from being renamed. |
Self contained application or applet | This setting of the "Application type" list means that your classes are self contained. It does not add any exclusion parameters to the "Exclusion parameter" list. Instead, you need to select the application entry point or Applet class in the Don't change main class name list. |
<All>
item then an exclusion parameter will be added that will exclude all package names
from being renamed.
For example, if your classes are within the package "com.mycompany" then typically you will want to exclude that package from being renamed. This would eliminate the risk of class name clashes when your classes appear in the same classpath as classes produced and obfuscated by other companies.
public static main(java.lang.String[])
method
or that extend java.applet.Applet
.
If your application contains more than one entry point then you will need to exclude these additional entry points by adding custom exclude parameters using the Add button.