Eclipse bietet mehrere Strategien für die Unterstützung von Installationen für mehrere Benutzer. Jede Strategie ist für ein bestimmtes Szenario geeignet. Dieses Dokument deckt diese Strategien ab und beschreibt, wann sie jeweils einzusetzen sind. Dieser Text ist für Produktentwickler gedacht, die ein Produkt auf der Basis von Eclipse für den Vertrieb konfigurieren, für Systemadministratoren, die Produkte auf der Basis von Eclipse, die über ein Netzwerk verwendet werden sollen, einrichten, sowie Entwickler, die an der Erstellung von Plug-ins interessiert sind, die sich in derartige Konfigurationen gut einfügen.
Letzte Änderung: 17. Juni 2005
Wie im Artikel Eclipse-Laufzeitoptionen beschrieben, gibt es drei verschiedene Positionen, die im Zusammenhang mit einer Implementierung von Eclipse für mehrere Benutzer wichtig sind:
Vor der ersten Ausführung von Eclipse ist der Konfigurationsbereich nichts als ein leeres Verzeichnis. Diese Position wird im Laufe der Eclipse-Sitzung schrittweise durch die Eclipse-Laufzeit und andere Plug-ins ausgefüllt. Der Großteil der von der Eclipse-Laufzeit gepflegten Metadaten (z.B. Plug-in-Abhängigkeiten, die Erweiterungsregistrierungsdatenbank) werden bei Beendigung der ersten Sitzung geschrieben. Werden keine Änderungen am Satz der installierten Plug-ins vorgenommen, so müssen in nachfolgenden Sitzungen keine weiteren Daten geschrieben werden. Die Konfiguration ist damit initialisiert. Wenn sich die Konfiguration in diesem Zustand befindet, ist es sogar möglich, den Konfigurationsbereich auf schreibgeschützt einzustellen. Ein Schreibschutz für den Konfigurationsbereich ist in Szenarien wie z.B. gemeinsam genutzte Konfigurationen nützlich (mehr hierzu an späterer Stelle).
Die Befehlszeilenoption -initialize
ermöglich die Initialisierung des Konfigurationsbereichs, ohne dass eine Eclipse-Anwendung laufen muss. Die Initialisierungsprozedur erzwingt die Erstellung von Metadaten, die während der ersten Eclipse-Sitzung in die Konfigurationsposition geschrieben werden. Es werden allerdings auch andere Dateien im Konfigurationsbereich gespeichert, die nur bei Bedarf erstellt werden. Beispiele hierfür sind:
Platform.asLocalURL(URL)
auf. Dies führt dazu, dass in dem Fall, dass die URL auf eine Datei innerhalb einer JAR-Datei verweist, diese Datei in das Dateisystem unterhalt des Konfigurationsbereichs extrahiert wird. Nachdem eine Datei extrahiert wurde, sind nachfolgende Aufrufe von Platform.asLocalURL()
in der Lage, diese zu finden. Weitere Extrahierungen werden also für diese Datei nicht mehr durchgeführt. In einem ähnlichen Szenario (genaugenommen: das Ursprungsszenario) mit den gleichen Konsequenzen, in dem Platform.asLocalURL
verwendet wird, wird sicher gestellt, dass remote angebundene Inhalte (z.B. eine über eine http-URL zugängliche Datei auch lokal zur Verfügung stehen).Für diese Fälle (und andere, die von Plug-ins von Drittherstellern eingeführt werden könnten) ist die Initialisierungsprozedur nicht ausreichend, um den Konfigurationsbereich vollständig zu initialisieren. Das Erfordernis, in den Konfigurationsbereich zu schreiben, bleibt bestehen, auch wenn es nach und nach verschwindet, nachdem alle Ausführungspfade in der Anwendung, die zur Erstellung von Dateien im Konfigurationsbereich führen, besucht wurden. Erst dann gilt die Aussage, dass der Konfigurationsbereich vollständig initialisiert ist, und dass für die Ausführung von Eclipse niemals wieder ein Schreibzugriff erforderlich sein wird.
Dies ist eigentlich ein Szenario für einen einzelnen Benutzer. Die Eclipse-Installation wird von einem einzigen Benutzer verwendet, und dieser Benutzer hatte vollständige Zugriffsberechtigung darauf. Die Position des Konfigurationsbereichs wird standardmäßig auf das Konfigurationsverzeichnis unterhalt des Installationspfads eingestellt.
Zur Einrichtung dieses Szenarios muss sichergestellt werden, dass der Benutzer über die vollständige Berechtigung für den Installationspfad verfügt.
In diesem Szenario wird ein einziger Installationsbereich von vielen Benutzern gemeinsam genutzt. Das Verzeichnis "configuration" unterhalb des Installationsbereichs enthält lediglich die Datei 'config.ini' im gleichen Zustand wie beim Versand des Produkts (nicht initialisiert). Jeder Benutzer verfügt über seine eigene lokale, eigenständige Konfigurationsposition.
Zur Einrichtung dieses Szenarios muss der Installationsbereich für regelmäßige Benutzer schreibgeschützt gemacht werden. Wenn Benutzer Eclipse starten wird der Konfigurationsbereich automatisch standardmäßig auf ein Verzeichnis unterhalb des Ausgangsverzeichnisses des Benutzers eingestellt. Wird diese Maßnahme nicht ergriffen, so verwenden alle Benutzer die gleiche Position für Ihre jeweiligen Konfigurationsbereiche, was nicht unterstützt wird.
Hier nutzen Benutzer nicht einen Installationsbereich gemeinsam, sondern auch einen Hauptkonfigurationsbereich. Benutzer verfügen weiterhin standardmäßig über ihre eigenen privaten, nicht schreibgeschützten Konfigurationsbereiche. Der private Konfigurationsbereich eines Benutzers wird überlappend zur Hauptkonfiguration angeordnet und enthält keinerlei interessante Daten, wenn die Hauptkonfiguration vollständig initialisiert wurde und keine Änderungen am Satz der zu installierenden Plug-ins vorgenommen wurde.
In diesem Szenario initialisiert der Systemadministrator die Hauptkonfiguration (typischerweise unterhalb des Installationspfads) und stellt sicher, dass sämtliche Installations- und Konfigurationsbereiche für Benutzer schreibgeschützt sind. Wenn Benutzer die auf Eclipse basierenden Produkte von dem gemeinsam genutzten Installationspfad aus ausführen, wird ein lokaler Konfigurationsbereich automatisch berechnet und initialisiert, da sie über keine Schreibzugriffberechtigung für den Konfigurationsbereich unterhalb des Installationspfads verfügen.
Je vollständiger die gemeinsam genutzte Konfiguration initialisiert ist, desto weniger Dateien müssen unter der lokalen Konfiguration erstellt werden.
Die Standardposition für einen privaten Konfigurationsbereich ist:
<benutzer-ausgangsverzeichnis>/.eclipse/<produkt-id>_<produkt-version>/configuration
Das Ausgangsposition des Benutzers wird durch die Java-Systemeigenschaft user.home
bestimmt.
Die ID und Version des Produkts sind in der Produkt-Markierungsdatei .eclipseproduct
unterhalb der Eclipse-Installation erhältlich.
Ein nicht standardmäßiger Konfigurationsbereich kann durch Einstellung der Systemeigenschaft osgi.configuration.area
definiert werden. Diese Eigenschaft kann vom Endbenutzer eingestellt werden - es ist allerdings praktischer, sie entweder in der Datei launcher.ini oder in der Datei 'config.ini' an der Position der Basiskonfiguration einzustellen.
Plug-ins können in der gemeinsam genutzten Konfiguration installiert werden, bzw. aus dieser entfernt werden. Benutzer werden dann bei der nächsten Ausführung von Eclipse auf den neuesten Stand gebracht. Es muss sichergestellt werden, dass Benutzer, die die gemeinsam genutzte Konfiguration als Hauptkonfiguration haben, Eclipse zu diesem Zeitpunkt nicht ausführen.
Benutzer können ihre lokale Konfiguration ändern, indem sie zusätzliche Plug-ins installieren. Dies führt nicht zu Änderungen an der gemeinsam genutzten Konfiguration, so dass andere Benutzer von diesen Änderungen nicht betroffen sind. Beachten Sie, dass Plug-ins, die in der gemeinsam genutzten Konfiguration konfiguriert sind, nicht entfernt werden können. Sollte dies eintreten, so werden sie beim nächsten Start der Plattform erneut installiert.