# J2ME Preferences

To inspect or alter the EclipseME preferences, open the Preferences dialog via the Window menu of the workbench.

- Basic Preferences
- Obfuscation Preferences
- Over the Air Preferences
- Platform Components

## Basic Preferences

Select the J2ME category from the left pane of the preferences dialog. The basic preferences page for EclipseME looks like the following:

Preference items:

Item | Contents
Deployment Directory | The Deployment Directory preferences specified the project subdirectory into which deployed JAR and JAD files will be placed during the Create Package operation. In addition, this is the directory in which the built in Over The Air deployment support will search for the JAD and JAR file.
Resources Directory | The Resources Directory preference specifies the project subdirectory into which resources (images, etc.) are stored. The Resources Directory will automatically be added to the classpath of the emulator when running. In addition, the resources will be included in jar files built for deployment.

Verified Output Directory Name

The J2ME specification requires that all classes to be run must be preverified. This allows for high levels of security without the inherent costs of the complete J2SE security implementation. EclipseME automatically does preverification of class files whenever they are saved if automatic builds are enabled for the workbench. Whenever a class is compiled by Eclipse, EclipseME will preverify that class and place the result into this directory.

Debug Server Delay

Some emulators, such as the Nokia emulators, operate as debug servers rather than debug clients. In such emulators, the emulator must be started up before EclipseME may connect to it. Because startup time may vary based on a variety of factors, this preference controls how much time (in milliseconds) EclipseME will wait for the emulator to start before attempting to connect to the emulator's debug server.

## Obfuscation Preferences

Obfuscation preferences control the processing of the obfuscated packaging support. EclipseME uses Proguard for doing the obfuscation processing.

Preference items:

Item | Contents
Proguard Root Directory | This value specifies the root directory for the Proguard installation. Proguard is required to create obfuscated packaged applications.
Use Specified Arguments | By default, EclipseME will use the the arguments `-dontnote -defaultpackage ''` when invoking Proguard for obfuscation. If circumstances require a different set of parameters to be specified, they may be provided by selecting the check box associated with "Use specified arguments" and specifying the parameters in the text field.
Proguard Keep Expressions | Proguard keep expressions may be specified to keep a certain set of classes. For further information concerning the syntax of these expression, please see the Proguard documentation. The default expression will keep all midlet classes and their methods without changes that would confuse the deployment platform.

## Over the Air Preferences

Select the J2ME/Over the Air category from the left pane of the preferences dialog to specify preferences that control the operation of the Over The Air support of EclipseME.

Preference items:

Item | Contents
Start Listening at Startup | Selecting this preference will cause the embedded Over the Air HTTP server to be started when the Eclipse workbench is started. To use the OTA server outside of Eclipse, make sure to have the server started and a port specified. If the emulator is launched within Eclipse, it is not necessary to start the server as it will be started when necessary.
Use Specified Port | To use a specific port for the embedded HTTP server, select this preference and fill in a port. If this preference is not selected, a port will be chosen at random for the Over the Air support.
Specified Port | The value of this preference will be used for the embedded HTTP server if Use Specified Port is selected.

## Platform Components

Select the J2ME/Platform Components category from the left pane of the preferences dialog to specify preferences that control the platform components installed into the plug-in.

For more information about the platform components, see the appropriate section of the installation instructions.