As previously discussed, the three components of a Jini system are clients, services, and service locators, each of which can run anywhere on the network. These will be implemented using Java code running in JVMs. The implementation may be in pure Java, but it could make use of native code by Java Native Interface (JNI) or make external calls to other applications. Often, each application will run in its own JVM on its own computer, although they could run on the same machine or even share the same JVM. When they run, they will need access to Java class files, just like any other Java application. Each component will use the CLASSPATH environment variable or use the classpath option to the runtime to locate the classes it needs to run.
Jini also relies heavily on the ability to move objects across the network, from one JVM to another. In order to do this, particular implementations must make use of support services such as an HTTP server. The particular support services required depend on implementation details, and so may vary from one Jini component to another.