2009-07-21 8 views
10

Ich versuche, meinen gesamten "Arbeitsbereich" auf einen USB-Stick (einschließlich der ausführbaren Eclipse-Datei) zu portieren, damit ich meine Arbeit überall hin mitnehmen und den Schlüssel direkt abarbeiten kann.Portable Eclipse

Meine Verzeichnishierarchie ist ähnlich wie folgt aus:

/workspace/eclipse - Where my current eclipse binary is stored 
/workspace/codebase - Where I keep the root of all my eclipse projects 
/workspace/resources - Where I keep all project files (images, docs, libs, etc.) 

Es funktioniert alles völlig in Ordnung, auf einem System. Aber wenn ich zu einem anderen System umschalte, wird der USB-Schlüssel auf einem anderen Laufwerk montiert. Auf meinem Laptop bekomme ich zum Beispiel "E: \", auf meinem PC bekomme ich "K: \" und bei der Arbeit bekomme ich "F: \" usw.

Dies bedeutet, dass wegen Eclipse (aus irgendeinem Grund) scheint nur vollständige Pfadnamen (einschließlich Treiberbuchstaben) in jeder einzelnen seiner Konfigurationsdateien (wie zum Beispiel .classpath) zu verwenden, nichts funktioniert jemals, wenn ich an einem anderen System arbeiten möchte.

Ich legte ein 'libs' Verzeichnis in der Basis jedes Projekts und füllen Sie es mit seinen abhängigen JAR-Dateien. Warum benutzt es keine relativen Namen, damit ich etwas wie "../../libs/log4j.jar" angeben kann?

Kann jemand dieses Problem beheben? Kennt jemand einen Workaround dafür?


Update: 2010.11.09

Vor kurzem habe ich entdeckt habe Dropbox, die Sie Ihre Dateien online und automatisch mit extremer Leichtigkeit in Ihrem Computer synchronisieren können. Es enthält 2 GB freien Speicherplatz und Sie können zu viel mehr aufrüsten, wenn Sie möchten (gegen eine jährliche Gebühr).

Ich habe es auf meinen zwei Laptops, meinen zwei PCs, meinem Linux-Server und meinem Android-Telefon installiert und dann ein "Arbeitsbereich" -Verzeichnis im Ordner "Meine Dropbox" erstellt. Aus dem Verzeichnis 'workspace' habe ich dann Eclipse installiert und alle meine Projekte wie gewohnt erstellt/konfiguriert. Ich kann buchstäblich von jedem Computer aus arbeiten und alles bleibt immer perfekt synchron. Das ist viel besser als jede USB-Key-Funktionalität und ihr Ärger!

Antwort

7

Haben Sie versucht mit Eclipse Portable?

Die einzige Sache, die zu beachten ist, dass wenn Sie den Arbeitsbereich wechseln, müssen Sie daran denken, einen relativen Pfad (wie ../../Data/workspace) zu geben.

+0

Ich habe noch nie davon gehört ... aber ich werde mich sofort darum kümmern, danke! – Jeach

+0

Als ich auf diesen Link klickte, sagte es "veraltet" und führte mich zu einer anderen Seite, die auch "veraltet" war und so weiter, bis ich zu einem kam, der die neueste Version zu sein scheint. Ich habe Ihre Antwort bearbeitet, um auf die neue Version zu verlinken. – MatrixFrog

+0

Ich versuche eine Eclipse-Installation einzurichten, die zwischen mehreren Betriebssystemen portierbar ist. Ist es möglich, Eclipse Portable auf anderen Plattformen mit Wine auszuführen, oder funktioniert es nur unter Windows? –

5

Sie können den dos-Befehl subst verwenden, um einen konsistenten Laufwerkbuchstaben zu erhalten, indem Sie einen neuen virtuellen Laufwerksbuchstaben (sagen wir x :) erstellen, der Ihrem Eclipse-Ordner auf Ihrem USB-Laufwerk entspricht und dann alle Konfigurationspfade auf das Laufwerk verweist x:

Sie könnten eine kleine Batch-Datei auf dem USB-Laufwerk, die Sie klicken Sie auf das Laufwerk erstellen x:

C:\>help subst 
Associates a path with a drive letter. 

SUBST [drive1: [drive2:]path] 
SUBST drive1: /D 

    drive1:  Specifies a virtual drive to which you want to assign a path. 
    [drive2:]path Specifies a physical drive and path you want to assign to 
       a virtual drive. 
    /D    Deletes a substituted (virtual) drive. 

Type SUBST with no parameters to display a list of current virtual drives. 
1

Sie könnten auch Brief für den USB-Stick in Windows Disk Management neu zuordnen (subitem in Computer-Management) zu sein wie "U:". Sobald dies erledigt ist, wird es bei jedem Anschließen an denselben Stick erneut zugewiesen. Nicht sehr universell, da Ihr Benutzer zum ersten Mal Zugriff auf diese Einstellung benötigt, aber es könnte in einigen verschiedenen Szenarien helfen.

0

Sie können immer Ant verwenden, um Ihre Programme zu erstellen, mit Ant können Sie relative Pfade haben ... Außerdem können Sie Ivy verwenden, um Abhängigkeiten in Ant zu verfolgen, ich mache das in jedem Projekt, das ich habe.

0

Eine andere Alternative besteht darin, Ihre .classpath-Dateien manuell so zu bearbeiten, dass sie relative Pfade enthalten.

Es ist jedoch ein wenig mühsam, da Sie die Dateien bei jedem Wechsel von Eclipse manuell aktualisieren müssen.

+0

Ja, ich habe sie einmal manuell bearbeitet und Eclipse hat meine Änderungen überschrieben. Ich kann nicht herausfinden, warum jemand in der Welt absolute statt relative Wege benutzen möchte. Dein hartes in Programmierung 101 ... aber ich denke, dass diese Kerle diesen Kurs verpasst haben. – Jeach

+0

Ich habe jetzt tatsächlich Probleme damit. Offensichtlich wird das Hinzufügen von Projekten, die einen relativen Pfad verwenden, so gezählt, dass ein nicht vorhandener vordefinierter Parameter (mit anderen Worten "../workspace" == "$ {workspace} ../ workspace") verwendet wird, was zu einem Fehler führt, der nicht auftritt erlauben die Einbeziehung der Projekte. – Oskuro

+0

Edit: Ok, das Problem gefunden, Eclipse speichert Projekte relativ zum Arbeitsbereich Ordner, aber wenn Sie Unterordner im Arbeitsbereich Ordner hinzufügen, speichert es sie als absolute Pfade. Siehe hier: [link] (http://weaklyreachable.blogspot.com/2012/04/absolute-project-pathnames-in-eclipse.html) – Oskuro