| Preparations

## Packages and Classpath

> To use the JNDI in your program, you need to set up its compilation and execution environments.

> #### Importing the JNDI Classes

> Following are the JNDI packages:
> - `javax.naming`
> - `javax.naming.directory`
> - `javax.naming.event`
> - `javax.naming.ldap`
> - `javax.naming.spi`

> The examples in this trail use classes and interfaces from the first two packages. You need to import these two packages into your program or import individual classes and interfaces that you use. The following two lines import all of the classes and interfaces from the two packages `javax.naming` and `javax.naming.directory`.

> >     import javax.naming.*;
> >     import javax.naming.directory.*;

> #### Compilation Environment

> To compile a program that uses the JNDI, you need access to the JNDI classes. The Java 2 SDK, v1.3 already includes the JNDI classes, so if you are using it you need not take further actions.

> If you are using an older version of the Java SDK, then you need to download the JNDI classes from the JNDI Web site.

> If you are using the Java 2 SDK, v1.2, then you can install the JNDI classes as an installed extension. Copy the `jndi.jar` archive file to the JAVA_HOME`/jre/lib/ext` directory, where JAVA_HOME is the directory that contains the SDK.

> If you are not using the JNDI as an installed extension, or are using the JDKTM 1.1, then copy the `jndi.jar` archive file to its permanent location and add its location to your classpath. You can do this by setting the `CLASSPATH` variable to include the absolute filename of the `jndi.jar` archive file.

> #### Execution Environment

> To run a program that uses the JNDI, you need access to the JNDI classes and classes for any service providers that the program uses. The Java 2 Runtime Environment (JRE) v1.3 already includes the JNDI classes and service providers for LDAP, COS naming, and the RMI registry. If you are using some other service providers, then you need to download and install their archive files in the JAVA_HOME`/jre/lib/ext` directory, where JAVA_HOME is the directory that contains the JRE.

> If you are using an older version of the JRE, then you need to download the JNDI classes from the JNDI Web site. This Web site also lists some service providers. You may download these providers or use providers from other vendors.

> If you are using the JRE v1.2, then you can install the JNDI classes as an installed extension. Copy the `jndi.jar` archive file to the JAVA_HOME`/jre/lib/ext` directory, where JAVA_HOME is the directory that contains the JRE.

> If you are not using the JNDI as an installed extension or are using the JRE v1.1, then copy the JNDI and service provider archive files to their permanent location and add that location to your classpath. You can do that by setting the `CLASSPATH` variable to include the absolute filenames of the archive files. For the examples in this trail, you'll need the file system and LDAP service providers. To provide for this, include the filenames `fscontext.jar`, `ldap.jar`, and `providerutil.jar` in your `CLASSPATH` variable.

| Preparations