When I export my eclipse application and place it in a read-only folder it fails with the following causing exception:
Caused by: java.lang.ClassNotFoundException: org.caleydo.core.data.perspective.table.TablePerspective
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 91 more
According to this help page [1] starting without reading permissions should work.
I’ve just refactored the Class TablePerspective that seems to be the cause of this, however, I don’t see why it should work with rw but not with r permissions. The package containing the class is correctly exported.
This is very annoying since I can’t deploy the application using linux packages or windows installers which place it in read-only directories.
The solution was to delete the cache in my users’s local .eclipse folder. It seems to have contained content from before the refactoring and wasn’t updated. Simply removing the .eclipse folder did the trick.