web-dev-qa-db-ja.com

EclipseワークスペースとプロジェクトをWindowsからLinuxとMacに転送する方法

私たちは何年もの間Windows上で開発された製品を持っています。この製品は、1つのEclipseワークスペースと約20のプロジェクトで構成されています。 Windowsでは、すべての開発者にプロジェクトをd:\ dev\productフォルダーにチェックアウトし、統合されたワークスペースをd:\ dev\prod_workspaceにコピーするように依頼します。このように、新しいマシンが設定されるたびに、ファイルを同じフォルダーにコピーするだけで、すぐに作業を開始できます。

次に、開発環境をLinuxとMacに移行する必要があります。しかし、UnixにはD:\はありません。また、Linuxのホームフォルダは、Macの/ home/usernameや/ Users/usernameとほとんど同じです。プロジェクトを参照するとき、Eclipseはワークスペース内の絶対パスを保持するため、ワークスペースをコピーするだけでは機能しなくなりました。 Linuxマシンでワークスペースを手動で作成/構成した場合でも、絶対パスが変更されているため、別のユーザーにワークスペースをコピーすることはできません。

私たちの目標は、開発環境を簡単にセットアップできるようにすることだと思います。 Eclipseワークスペースを移動するための提案はありますか?

15
Li Ma

私はMacとWindows用のEclipseベースの製品を開発しています(Linuxは試していません)。

私が最もうまく機能することがわかった解決策は、実際に行って、各マシンのワークスペース内のプロジェクトをソース管理から直接チェックアウトすることです。プロジェクト構造はプラットフォーム間で変換されますが、バージョン管理などのアタッチは変換されません。理由はわかりませんが、それぞれにねじれがあると思います。プラットフォーム用のプロジェクトワーキングセット(またはそれが呼ばれるものは何でも、PSFファイルだと思います)を作成し、それをすべてのプラットフォームで再利用することで、物事を少し早めることができるかもしれません。

もう1つの問題は、Eclipseバージョンが100%互換性がないことです。私が抱えている問題の1つは、プラグインのマニフェストファイルにあります。これは、プラットフォームごとに異なるセマンティクス(たとえば、実際には存在しないエクスポートされたパッケージをどうするか)を持ち、頭痛の種になります。

最後に、MacとPCのJavaは同一ではないことに注意してください。実際、EclipseにはMac用に2つのバージョンがあります。私は通常、MacのJava 5で実行およびコンパイルすることになりますが、これにはJava6との非互換性がいくつかあります。

3
Uri

EclipseプロジェクトをWindowsXPからRHELに移植しました(Macを試したことはありません)

あなたの仕事は次のステップで達成することができます:-

  1. 絶対パスではなく、プロジェクトコードでワークスペース変数を使用します。
  2. ワークスペースをLinuxの/ Workspaceなどの場所に移動します。ユーザー固有の場所にしたい場合は、ワークスペースフォルダーを/ home/user_name/Workspaceにします。
  3. Linuxではウィンドウのすべての\を/に変更するオプションがあります。このオプションは、Eclipseのファイルメニューにあります。
  4. クラスパスディレクトリの場所の設定を変更します。オプションは、プロジェクトビューアパネルのプロジェクトメニューを右クリックするだけで見つけることができます。
  5. プロジェクトを最初からクリーンにビルドするオプションがあります。オプションをクリックするだけで、Eclipseがプロジェクトを再コンパイルします。

これがすべて完了し、すべてのデータベース接続がLinuxに正常に移植されると、Linuxでも作業プロジェクトが実行されます。

3

私は自分の解決策を共有します:

ワークスペースを圧縮します。ファイル全体を圧縮してから転送するだけです。次に、デフォルトのドライブ参照を削除するだけです。D:\...またはファイル名の先頭に表示されるもの。次に、新しくダウンロードしたEclipseの新しい空のワークスペースにドラッグするだけです。

0
charlob

これを行うには2つの方法が考えられます。

  1. 必要に応じて、Eclipseのワークスペース変数を使用して、ワークスペースが配置されている正確な場所を指します。次に、開発者はWindowsやUnixなどのワークスペースにすべてを配置し、変数を定義すれば完了です。
  2. コンパイルが常にEclipse内から行われる場合、つまり絶対パスが実際に必要ない場合は、プロジェクトをすべて相対パスを使用するように変更し、Eclipseクラスパスなどをソース管理にチェックインします。したがって、開発者がEclipseですべてをチェックアウトすると、クラスパスと.projectファイルがプロジェクトのルートレベルになり、すべてのパスが事前定義されます。

オプション#2の場合、複数の.projectまたは.classpathファイルが必要になる場合があり、開発者に適切なファイルを場所にコピーしてもらう必要があります。つまり、Eclipseで使用するために.classpath.win.classpathにコピーします。

0
Eddie

Workspace Preference Transferrerプラグイン を使用します

これにより、[ワークスペースの切り替え]ダイアログの新しいオプションを使用して、特定のワークスペースから別のワークスペースにワークスペース設定を転送できます。

0
Chip McCormick

ソースリポジトリからプロジェクトをチェックアウトする場合は、[チーム]-> [ProjectSets]を使用してこれらを処理することを検討してください。

プリファレンスはファイルに保存してロードできます。

クラスパス変数を試し、嫌いになりました。これで、ソースリポジトリ内の単一のプロジェクトにすべてが含まれるようになりました。