# Starting Eclipse from Java

Last modified June 1, 2007

The Eclipse Platform makes heavy use of Java class loaders for loading plug-ins. Even the Eclipse Runtime itself and the OSGi framework need to be loaded by special class loaders. Client programs, such as a Java main program or a servlet, cannot directly reference any part of Eclipse directly. Instead, a client must use the EclipseStarter class in org.eclipse.core.runtime.adaptor to start the platform, invoking functionality defined in plug-ins, and shutting down the platform when done.

Clients that do not need to access any particular function, but just need to start the platform, can use `org.eclipse.equinox.launcher.Main.run()` in the bundle `org.eclipse.equinox.launcher`. However, clients that need to invoke specific function should use EclipseStarter. See the javadoc inside this class for details.