When I try to start the GlassFish 4 server from the Servers tab in Eclipse Mars, I get the following error:
'Starting GlassFish 4 at localhost [domain1]' has encountered a problem.
Unable to start server due following issues:
Launch process failed with exit code 1
In the Console tab, I see the following output:
Launching GlassFish on Felix platform
ERROR: Error creating bundle cache. (java.lang.Exception: Unable to create bundle cache lock file: java.io.FileNotFoundException: /home/user/glassfish4/glassfish/domains/domain1/osgi-cache/felix/cache.lock (Permission denied))
java.lang.Exception: Unable to create bundle cache lock file: java.io.FileNotFoundException: /home/user/glassfish4/glassfish/domains/domain1/osgi-cache/felix/cache.lock (Permission denied)
at org.apache.felix.framework.cache.BundleCache.<init>(BundleCache.java:168)
at org.apache.felix.framework.Felix.init(Felix.java:640)
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiFrameworkLauncher$1.run(OSGiFrameworkLauncher.java:88)
Exception in thread "Thread-1" java.lang.RuntimeException: org.osgi.framework.BundleException: Error creating bundle cache.
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiFrameworkLauncher$1.run(OSGiFrameworkLauncher.java:90)
Caused by: org.osgi.framework.BundleException: Error creating bundle cache.
at org.apache.felix.framework.Felix.init(Felix.java:645)
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiFrameworkLauncher$1.run(OSGiFrameworkLauncher.java:88)
Caused by: java.lang.Exception: Unable to create bundle cache lock file: java.io.FileNotFoundException: /home/user/glassfish4/glassfish/domains/domain1/osgi-cache/felix/cache.lock (Permission denied)
at org.apache.felix.framework.cache.BundleCache.<init>(BundleCache.java:168)
at org.apache.felix.framework.Felix.init(Felix.java:640)
... 1 more
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:54)
Caused by: org.glassfish.embeddable.GlassFishException: java.lang.NullPointerException
at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishRuntimeBuilder.build(OSGiGlassFishRuntimeBuilder.java:170)
at org.glassfish.embeddable.GlassFishRuntime._bootstrap(GlassFishRuntime.java:157)
at org.glassfish.embeddable.GlassFishRuntime.bootstrap(GlassFishRuntime.java:110)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:112)
... 6 more
...
Go to the osgi-cache folder mentioned in the Console:
cd /home/user/glassfish4/glassfish/domains/domain1/osgi-cache
and change the permissions for the felix folder:
chmod 755 felix
Now go to Eclipse and try again to start the GlassFish server from the Servers tab.