This is the documentation of the Eclipse Equinox Framework.
This page documents common issues encountered when starting Eclipse or Equinox-based applications and provides solutions and workarounds.
Problem: The launcher cannot find a suitable Java Virtual Machine.
Error Messages:
Solutions:
eclipse.ini:
-vm
/path/to/java/bin
Note: The -vm option must appear before -vmargs
JAVA_HOME environment variable to point to your JDK installationProblem: The application runs out of memory during startup or operation.
Error Messages:
Solutions:
eclipse.ini or via command line:
-vmargs
-Xms512m
-Xmx2048m
-Xmx to 4096m or higher-XX:MaxPermSize=256m
Problem: Cached configuration or workspace metadata is corrupted.
Symptoms:
Solutions:
-clean option to clear cached OSGi data:
eclipse -clean
.metadata/.plugins/org.eclipse.core.resources/.snap fileconfiguration/org.eclipse.osgi directoryProblem: Native libraries fail to load (SWT, launcher libraries).
Error Messages:
Solutions:
sudo apt-get install libgtk-3-0
xattr -cr Eclipse.app
Problem: Attempting to run a 64-bit Eclipse with a 32-bit JVM (or vice versa).
Error Messages:
Solutions:
eclipse.ini with -vmProblem: Workspace is already in use or lock file cannot be created.
Error Messages:
Solutions:
.metadata/.lock file (ensure no other instance is running)Problem: Required plugins fail to resolve or load.
Error Messages:
Solutions:
-clean to rebuild bundle cache-console for resolution errors:
eclipse -console
ss (short status) command in console to check bundle statesdiag <bundle-id> to diagnose specific bundle issuesProblem: The configuration area is read-only or cannot be written to.
Solutions:
eclipse -configuration /path/to/writable/location
Problem: Eclipse hangs showing the splash screen during startup.
Solutions:
-nosplash to disable the splash screen:
eclipse -nosplash
eclipse -debug -consoleLog
Start Eclipse with debug options to see detailed information:
eclipse -debug -consoleLog
For more specific debug output, create a .options file:
org.eclipse.osgi/debug=true
org.eclipse.osgi/resolver/debug=true
org.eclipse.osgi/resolver/wiring=true
Then start with:
eclipse -debug /path/to/.options -consoleLog
If you are using Equinox as the OSGi framework in your OSGi application (e.g. if you are using another way to lauch like the bnd launcher or OSGi Feature launcher) then you might want configure logging via command line properties.
The following properties can be used:
osgi.debug=/path/to/.options (see above)eclipse.log.enabled=true/falseeclipse.consoleLog=true/falseIf you prefer the built-in equinox logger to go to System.out also then you can set the framework/system property eclipse.consoleLog=true.
By default Equinox writes the framework ERROR to a log file also from here unless you disabled it with the property eclipse.log.enabled=false which gets read here
Example via a .bndrun*
# launch.bndrun
-runproperties.debug: \
eclipse.consoleLog=true
This enables basic logging of errors.
To use an additional .options file for more fine grained logging output do:
# launch.bndrun
-runproperties.debug: \
osgi.debug=${workspace}/my.bundle.foo/debug.options,\
eclipse.consoleLog=true
This enables console output
Always check the workspace log for detailed error information:
<workspace>/.metadata/.logStart Eclipse with the console to inspect bundle states:
eclipse -console
Useful console commands:
ss - Short status of all bundlesdiag <bundle-id> - Diagnose bundle issuespackages <bundle-id> - Show package dependenciesservices - List registered servicesVerify your Java version meets the minimum requirements:
java -version
Different Eclipse versions have different requirements:
Program Files to avoid User Account Control issues.echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
xattr -cr Eclipse.appIf none of these solutions work:
java -version).metadata/.log