Frage Wie ändere Eclipse-Standorte, um das Schreiben in user.home-Verzeichnis zu verhindern?


Ich habe alle verschiedenen Einstellungen ausprobiert, und ja, ich kenne eclipse.ini und config.ini und habe auch verschiedene Befehlszeilenargumente ausprobiert! Nichts hat mein Problem gelöst!

Alle Versuche und immer noch jedes Mal, wenn ich eclipse.exe ausführen möchte, schreibe ich in mein Userhome, d. H. Die .eclipse- und .p2-Ordner.

Ich habe es mit allen Einstellungen unter anderem in verschiedenen Kombinationen versucht:

-Dosgi.user.area=file:/c:/eclipse-conf/e46
-Dosgi.configuration.area=file:/c:/eclipse-conf/e46
-Dosgi.instance.area=file:/c:/eclipse-conf/e46
-Declipse.p2.data.area=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.configurationFolder=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.installFolder=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.cache=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.roaming=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.cache.shared=file:/c:/eclipse-conf/e46/p2

Das hat nicht geholfen! Nun, es schreibt an /e46 und /e46/p2 Ordner aber es ebenfalls erstellt / schreibt nach c:\users\mrsimplemind\.eclipse & .eclipseextension & .p2 Auch wenn ich manuell die Ordner vorstelle, wird es nicht helfen.

Nun bitte, jeder hat hier Erfolg gehabt, die Eclipse-Konfigurationsausgabe vollständig zu isolieren?

Die einzige Möglichkeit, dies zu erreichen, war die Veränderung der user.home aber ich mag diese Problemumgehung nicht, da es Sachen in der ursprünglichen "user.home" gibt, die in Eclipse benötigt werden, z. .ssh, .git, .m2 maven usw. Ich möchte keine Duplikate von Profileinstellungen für jede Eclipse user.home beibehalten

Ich möchte nur Eclipse isolieren, dies sollte konfigurierbar sein! Ich mag die Ausgänge zu user.home nicht. Es ist keine Option! Ich möchte die Kontrolle darüber haben, was Eclipse in welchen Ordnern für jede Eclipse-Installation erstellt.

(Ich kann nur von Windows OS unterscheiden, ich weiß nicht, wie wenn Eclipse auf Mac besser mit den obigen Einstellungen funktioniert)


Ich verwende kein OOMPH-Installationsprogramm, einige der folgenden Kommentare sind irreführend


11
2017-08-26 14:40


Ursprung


Antworten:


Die Methode, die ich versucht habe, um dieses Problem zu lösen, war fast erfolgreich. Ob dies eine Antwort für Sie ist, hängt von Ihrem akzeptablen Mindestqualitätsniveau ab.

  • Wenn Sie verhindern möchten, dass Ihre Eclipse-IDE Ihre Home-Festplatte füllt, funktioniert diese Technik (sie hat für mich funktioniert). Es sollte egal sein, ob Eclipse von Oomph oder von einem einfachen Zip installiert wurde, da in dieser Lösung nichts geändert wird, was mit Oomph zusammenhängt.
  • Wenn die Anforderung ist, dass der Ordner "user home p2" vollständig gelöscht werden kann und Eclipse trotzdem funktioniert, ohne dieses Verzeichnis neu zu erstellen, konnte ich dies noch nicht erreichen.

Ich poste dies als eine Teillösung, vielleicht in der Hoffnung, dass jemand anders darauf aufbauen kann, um eine bessere Lösung zu finden. Offensichtlich wäre die perfekte Lösung, wenn Eclipse einen konfigurierbaren Download-Speicherort hätte und das Installationsprogramm tatsächlich alle Software nur an dem ausgewählten Ort installiert hätte, aber das erfordert, dass die Eclipse-Entwickler die "P2" -Komponente des Produkts reparieren. Was folgt, ist nur ein Workaround.

Strategie

Die Voraussetzung ist, dass der Download-Pool-Ordner immer in den Konfigurationsdateien festgeschrieben zu sein scheint, um unter dem Home-Ordner des Benutzers zu sein, der das Eclipse-Installationsprogramm ausgeführt hat. Der Kern dieser Problemumgehung besteht darin, einen gefälschten Benutzerordner an dem von Ihnen gewählten Speicherort zu erstellen, in den Konfigurationsdateien eine umfangreiche Suche durchzuführen und dann die Java-Systemeigenschaft zu erzwingen, diesen neuen Ordner als "user.home" zu verwenden "was Eclipse dazu bringt, es für seine Downloads zu benutzen.

Methode

Dies wurde auf Eclipse 4.7 Oxygen.3A auf Mint Linux getestet.
Umfangreich Gehirnoperation des Eclipse-Installationsordners wird benötigt.

  1. Installieren Sie Eclipse an einer anderen Stelle als der Home-Festplatte Ihres Benutzers.
    In diesem Beispiel wurde das Oomph-Installationsprogramm angegeben /media/LINAPPS/ubuntu-apps/eclipse-oxy als Installationsziel, das dann erstellt /media/LINAPPS/ubuntu-apps/eclipse-oxy/eclipse während der Installation.
  2. Starte Eclipse mindestens einmal, schließe es dann und vergewissere dich, dass Eclipse nicht läuft.
  3. Erstellen Sie einen neuen Ordner für gefälschte Benutzerhostlaufwerke unterhalb des Eclipse-Ordners.
    In diesem Beispiel habe ich erstellt eclipse-oxy/eclipse/fakeHome 
  4. Kopieren Sie das gesamte (verborgene) Verzeichnis p2 aus Ihrem Benutzerverzeichnis in das neue fakeHome.
    z.B cp -R /home/$USER/.p2 /media/LINAPPS/ubuntu-apps/eclipse-oxy/eclipse/fakeHome/.p2
  5. Gehe zum eclipse Ordner und bearbeiten Sie die eclipse.ini in einem Texteditor. Nehmen Sie diese 2 Änderungen vor:
    • setze die Linie danach --launcher.library die Kopie des Pools an der neuen Stelle relativ zur eclipse Ordner, zB: fakeHome/.p2/pool/...etc...
    • Fügen Sie nach allen anderen vm-Argumenten eine neue Systemeigenschaftseinstellung an das Ende der Datei an, und legen Sie user.home auf das neue Home-Verzeichnis des gefälschten Benutzers fest.
      z.B: -Duser.home=/media/LINAPPS/ubuntu-apps/eclipse-oxy/eclipse/fakeHome
  6. Bearbeiten Sie die Datei eclipse/configuration/org.eclipse.update/platform.xml. Finde den ersten <site> Geben Sie das URL-Attribut ein und ändern Sie es, um der neue Pool-Ordner relativ zum Eclipse-Ordner zu sein. z.B: url="file:fakeHome/.p2/pool/"
  7. Bearbeiten Sie die Datei /media/LINAPPS/ubuntu-apps/eclipse-oxy/eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info und wieder alle Verweise auf den Ordner p2 des Benutzers home mit dem neuen p2-Ordner unter dem fakeUser finden und ersetzen. Sie können hier mehr als 1000 Treffer finden. Es scheint wieder möglich zu sein, diese relativ zum Eclipse-Ordner zu machen, so dass ein Pfad von "fakeHome / .p2 / pool / ....." funktionieren wird.
  8. Gehe zum neuen /eclipse/fakeHome/.p2 Ordner und bearbeiten Sie beide Dateien dort "pools.info" und "profiles.info". Finden Sie wieder einen Bezug zu Ihrem echten Benutzer zu Hause und ersetzen Sie ihn durch den Pfad zum FakeUser-Ordner. Verwenden Sie den vollständigen Pfadnamen (aus dem Stammverzeichnis) für den Poolspeicherort in diesen beiden Dateien.
  9. Entpacke, bearbeite und repariere die neueste ProfilRegistry. Finde den Ordner
    eclipse/fakeHome/.p2/org.eclipse.equinox.p2.engine/profileRegistry/_media_LINAPPS_ubuntu-apps_eclipse-oxy_eclipse.profile/. Finde jetzt die neueste Zeitstempel-GS-Datei in diesem Ordner. Zum Beispiel könnte es "1529736854441.profile.gz" genannt werden.
    gunzip die .gz-Datei. Bearbeiten Sie die .profile-Datei, und ersetzen Sie alle Erwähnungen Ihres echten Benutzers zu Hause durch den neuen Ordner fakeUser. Zum Beispiel musste in meiner Installation eine der ersten Eigenschaftseinstellungen zu geändert werden
    <property name='org.eclipse.equinox.p2.cache' value='/media/LINAPPS/ubuntu-apps/eclipse-oxy/eclipse/fakeHome/.p2/pool'/>
    Löschen Sie die alte gz-Datei und gzip das Profil in ein gz, so hat es das alte ersetzt.
  10. Ich habe auch die Datei bearbeitet /eclipse/fakeHome/.p2/org.eclipse.equinox.p2.core/cache/artifacts.xml und ersetzte den Namen des Repositorys durch einen Verweis auf den neuen Speicherort in fakeHome, aber ich bin nicht sicher, ob dies notwendig war, um Eclipse zum Laufen zu bringen.
  11. Starte die Sonnenfinsternis.

Ergebnisse

Nachdem ich das oben beschriebene getan habe, habe ich versucht, Neue Software installieren aus dem Hilfe-Menü hinzuzufügen. Nach dem Download vieler neuer Plugins von Redhat und Spring belegt der neue fakeHome-Pool 900MB, aber der ursprüngliche Benutzerhomepool ist immer noch weniger als 400MB, so wie er war, sobald Eclipse installiert wurde. Es ist also gelungen, den Download-Cache des Updaters zu verschieben, und am alten Speicherort werden keine Dateien aktualisiert, aber in zwei Verzeichnissen unter .p2 scheinen immer noch ihre Zeitstempel berührt zu sein.

Wenn jemand das nützlich findet oder herausfinden, wie es verbessert werden kann, lass es mich wissen.


0
2018-06-23 12:10



Dies funktioniert unter Windows 7, Eclipse Oxygen:

  • Installieren Sie Eclipse, aber starten Sie es noch nicht
  • Bearbeiten eclipse.ini und darunter -vmargs, fügen Sie einen Eintrag hinzu, um den Benutzer als freigegebenen Ordner zu ändern:

z.B.

-vmargs
-Duser.home=C:\Development
  • Starte Eclipse. Sollte Ordner ".eclipse", ".tooling" usw. sehen, die im freigegebenen Ordner erstellt wurden und nichts in Ihrem Benutzerordner erstellt wurde.

0
2017-07-11 13:45