2009-07-21 29 views
10

私は自分のワークスペースをUSBキー(Eclipse実行ファイルも含む)に移植しようとしています。移植可能なEclipse

私のディレクトリ階層は次のようになります。

/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.) 

それはすべて1つのシステムに完全に正常に動作します。しかし、別のシステムに切り替えると、USBキーが別のドライブにマウントされます。例えば、私のラップトップでは私のPCに「E:\」と表示され、私は「K:\」を取得し、仕事では「F:\」などを取得します。

これは、Eclipse ( 'some'理由のために)設定ファイル(.classpathなど)のすべて1つにフルパス名(ドライバ文字を含む)しか使われないようだが、別のシステムで作業したいときには何も動作しない。

私はすべてのプロジェクトのベースに 'libs'ディレクトリを置き、依存するJARファイルをそれに設定します。なぜ、それは相対名を使用しないので、 "../../libs/log4j.jar"のようなものを指定することができますか?

誰でもこの問題の解決方法を知っていますか?誰かがこれの回避策を知っていますか?


更新日:2010年11月9日

私は最近、あなたが極めて容易に、自動的にオンラインとあなたのコンピュータ間でファイルを同期することを可能にする、Dropboxを発見しました。それには2GBの空き容量が含まれており、必要に応じて(年間料金で)さらにアップグレードすることができます。

2台のノートパソコン、2台のPC、Linuxサーバー、およびAndroid phoneにインストールした後、「My Dropbox」フォルダ内に「workspace」ディレクトリを作成しました。 「workspace」ディレクトリからEclipseをインストールし、私のプロジェクトをいつものように作成/設定しました。私は文字通りどんなコンピュータからでも作業することができ、すべては常に完全に同期しています。これはどんなUSBキー機能やその面倒な点でも優れています!

答えて

7

Eclipse Portableを試しましたか?

覚えておくべき唯一のことは、ワークスペースを切り替えるときに、相対パス(例えば、../../Data/workspaceなど)を覚えておく必要があることです。

+0

これは聞いたことがありません...しかし、私は今、その点を調べます、ありがとう! – Jeach

+0

私はそのリンクをクリックすると「古い」と言われ、新しいバージョンに見えるようになるまで「古くなった」別のページに導かれました。あなたの答えを編集して新しいバージョンにリンクしました。 – MatrixFrog

+0

私は、複数のオペレーティングシステム間で移植可能なEclipseインストールをセットアップしようとしています。 Wineを使用してEclipse Portableを他のプラットフォームで実行することは可能ですか?またはWindows上でのみ動作しますか? –

5

dosコマンドsubstを使用すると、USBドライブのEclipseフォルダにマップされた新しい仮想ドライブ文字(x :)を作成し、すべての設定パスでドライブを参照できるようにすることができますX:

あなたがドライブXを作成するためにクリックし、USBドライブ上の小さなバッチファイルを作ることができる:

また、Windowsのディスクの管理で、あなたのUSBスティック(下位項目で用に文字を再マップでき
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

コンピュータ管理)を「U:」のようなスムースにする。 完了したら、プラグを差し込むたびに同じスティックに再割り当てされます。初めてこの設定にアクセスするにはユーザーの権限が必要ですが、いくつかのシナリオでは役立ちます。

0

あなたはAntを使って相対パスを持つことができるプログラムをビルドするのに常にAntを使うことができます...また、Ivyを使ってAntの依存関係を追跡することもできます。

0

また、.classpathファイルを手動で編集して相対パスを含むようにすることもできます。

しかし、Eclipseが変更するたびに手動でファイルを更新する必要があるため、少し面倒です。

+0

はい、私はそれらを一度手動で編集し、Eclipseは私の変更を上書きしました。私は、なぜ世界で誰かが相対的ではなく絶対的な道を使いたいと思っているのか理解できません。プログラミング101であなたの厳しいこの...しかし、私はこれらの人がそのコースを逃したと思います。 – Jeach

+0

私は実際にこれに今問題があります。明らかに、相対パスを使用するプロジェクトを追加すると、存在しない定義済みのパラメータ(つまり、「../workspace」==「$ {workspace} ../ workspace」)を使用してカウントされます。プロジェクトを含めることができます。 – Oskuro

+0

編集:問題が見つかりました。Eclipseはワークスペースフォルダを基準にしてプロジェクトを保存しますが、ワークスペースフォルダ内にサブフォルダを追加すると絶対パスとして保存されます。こちらをご覧ください:[link](http://weaklyreachable.blogspot.com/2012/04/absolute-project-pathnames-in-eclipse.html) – Oskuro

関連する問題