Pivotal GemFire® v8.0

CLASSPATH Settings for GemFire Processes

CLASSPATH Settings for GemFire Processes

This topic describes how GemFire processes set their CLASSPATH.

To simplify CLASSPATH environment settings, GemFire has organized all application libraries required by GemFire processes into *-dependencies.jar files. All dependency JAR files are located in $GEMFIRE/lib directory. When starting a server or locator process using gfsh, the required application JAR files are automatically loaded into the process's CLASSPATH for you.

However, if you are starting a GemFire process programmatically (standalone or embedded), we recommend that you specify the CLASSPATH upon program execution using the java -classpath or java -cp command-line option. This method is preferred to setting the CLASSPATH as an environment variable since it allows you to set the value individually for each application without affecting other applications and without other applications modifying its value.

For example, to start up a GemFire locator process using the LocatorLauncher API, you can execute the following on the command line:
prompt# java -cp "$GEMFIRE/lib/locator-dependencies.jar"
com.gemstone.gemfire.distributed.LocatorLauncher start locator1
To start up a GemFire server process using the ServerLauncher API:
prompt# java -cp "$GEMFIRE/lib/server-dependencies.jar:/path/to/your/applications/classes.jar"
com.gemstone.gemfire.distributed.ServerLauncher start server1
Note that in addition to the *-dependencies.jar file associated with the process, you must also specify any custom application JARs that you wish to access in your GemFire process. For example, if you are planning on using a customized compressor on your regions, you should specify the application JAR that contains the compressor application you wish to use.
To start up an application with an embedded cache:
java -cp "$GEMFIRE/lib/server-dependencies.jar:/path/to/your/applications/classes.jar"
Note: Another method for updating the CLASSPATH of a server process with your own applications is to use the gfsh deploy command. Deploying application JAR files will automatically update the CLASSPATH of all members that are targeted for deployment. See Deploying Application JARs to Pivotal GemFire Members for more details.
The following table lists the dependency JAR files associated with various GemFire processes:
GemFire Process Associated JAR Files
gfsh gfsh-dependencies.jar
server server-dependencies.jar
Note: Use this library for all standalone or embedded GemFire processes (including Java clients) that host cache data.
locator locator-dependencies.jar
Pulse pulse-dependencies.jar