RCP: Lokale Kopien von PlugIn-Code im org.eclipse.osgi\bundles\NN\N\.cp

Thorsten Zegger

Grünschnabel
Hallo,
ich habe folgende Situation leider bisher nicht lösen können:
Ich schreibe an einer RCP (3.3.1.1) Applikation.
Es gibt in dieser Applikation mehrere PlugIns die sich auch ab und zu mal ändern können. Bisher stellte ich mir das so vor, dass ich auf einem gemeinsamen Netzlaufwerk die komplette Anwendung ablege, und die Anwender einfach nur die entsprechende EXE aufrufen.

Damit jeder Anwender seine persönlichen Perspektiveneinstellungen speichern kann, und ich keine Schreibberechtigung auf das Netzlaufwerk vergeben muss, habe ich die config.ini zu folgendem Stand verändert:

osgi.splashPath=platform:/base/plugins/de.cat.Portal
eclipse.product=de.cat.Portal.product
osgi.bundles=org.eclipse.equinox.common@2:start,org.eclipse.update.configurator@3:start,org.eclipse.core.runtime@start
osgi.bundles.defaultStartLevel=4
osgi.instance.area.default=@user.home/rcptool
osgi.configuration.area=@user.home/rcptool/.myProduct
data=@user.home/rcptool/.myProduct/workspace


Es gibt nun ein Problem, wenn ich ein PlugIn ändere:
Offensichtlich speichert die Anwendung unter user.home\rcptool\.myProduct\org.eclipse.osgi\bundles\NN\N\.cp Daten der jeweiligen Plugins. Das führt bei Änderungen im PlugIn zu mehr oder weniger dubiosen Fehlersituationen. (NoClassDefFound, EJB***Excepion, etc.):confused:
Wenn ich den entsprechenden Ordner lösche tritt der Fehler nicht mehr auf und alles läuft erwartungskonform.

Kennt jemand eine Möglichkeit die Anwendung davon zu überzeugen diese Daten nicht auf den lokalen PC zu kopieren?
Oder: Hat jemand einen andere Lösungsansatz zum Beheben des Problems?

Ich habe es schon mit einer Batchdatei versucht, die den Ordner ".myProduct" beim Start aus dem entsprechenden user.home/rcptool entfernt. Theoretisch machbar, geht aber aufgrund von Berechtigungskonzepten nicht bei allen Anwendern und kann meiner Meinung aber auch keine ernsthafte Lösung sein.

Vielen Dank

Thorsten
 
Ich habe leider nicht herausgefunden wie der RCP Anwendung gesagt werden kann, dass sie diese lokalen Daten nicht ablegen soll, aber ich habe einen anderen Hinweis gefunden den ich hier natürlich nicht verschweigen möchte:

Es ist so, dass bei Änderungen von PlugIns unbedingt auf die Version zu achten ist(!)

Setzt man die Verision hoch, erzeugt sich die PlugIn Jar und kopiert diese in den PlugIn Ordner der Anwendung, zieht sich die Anwendung automatisch beim nächsten Start die neue Version des PlugIns.
Mein Problem tritt bei dieser Herangehensweise nicht mehr auf.

Schönen Gruß
Thorsten
 
Zurück