2

If I enter the osgi.configuration.area.readOnly=true in the config.ini I get a NoClassDefFoundError from one of our imported libs when I start my Eclipse RCP.

Based on this question I understand it is due to our nested jars that need the configuration area to unpack in. But isn't there a way to make sure this takes place in our osgi.instance.area or some other place?

Yes, I could make sure to un-nest the nested jars, but that feels like a workaround that could fail next time we add a new lib dependency.

The config.ini file:

eclipse.application=(myApp)
osgi.bundles.defaultStartLevel=4
eclipse.product=(myProd)
osgi.splashPath=platform:/base/plugins/(rcp)
osgi.bundles=(cut list)
osgi.instance.area=@user.home/.myApp
osgi.locking=none
osgi.configuration.area.readOnly=true
Fredrik
  • 10,626
  • 6
  • 45
  • 81
  • 1
    Use '-console -noExit' to launch the equinox. Then use 'ss', 'diag' to trace whether your bundle is installed/resolved or not. – Kane Nov 25 '10 at 02:55
  • Why do you want your configuration area to be read only? OSGI needs to write data to that location right? – Duncan Krebs Nov 21 '12 at 02:09
  • @DuncanKrebs This was some time ago, but iirc I was experimenting with a shared Eclipseinstallation, were many could use the same installation. To get this to work, the dir where it was installed had to be read-only for non-root users. – Fredrik Nov 21 '12 at 10:17

1 Answers1

0

An old question but but i came with the same problem. You can add "osgi.configuration.area.default={location}" in your config.ini file to manage the location you want OSGI to put your nested jars.

See this thread for more info : Eclipse RCP: How is the default name of the private configuration directory (created in ~/.eclipse when using a shared install) constructed?

Community
  • 1
  • 1
Loïc
  • 131
  • 5