0

Eclipse (OS X) の下で、ライブラリに依存するアプリケーションを開発しています。これにより、次のようになります。

  • プロジェクト A はライブラリ L1、L2、L3 を使用します
  • プロジェクト B はライブラリ L2、L3 を使用
  • プロジェクト C はライブラリ L1、L2、L3 を使用します

以前は、プロジェクト A、B、C、L1、L2、L3 を含むワークスペースが 1 つしかなく、ライブラリは通常、git cloneリポジトリから単純なものでした。
私はそれから:

~/projects/ProjectA
~/projects/ProjectB
~/projects/ProjectC
~/projects/Lib1
~/projects/Lib2
~/projects/Lib3

それはしばらくの間機能していましたが、現在、プロジェクト A、B、C... が公開されて使用されているため、プロジェクトが同じバージョンのライブラリを使用していない可能性があり、すべてが複雑になりすぎています。

ワーキングセットを見てみましたが、これは私が望んでいるものではないと思います。

新しいワークスペースを作成し、ライブラリを再度複製して、次のようにしました。

~/projects/ProjectA/Project
~/projects/ProjectA/Lib1
~/projects/ProjectA/Lib2
~/projects/ProjectA/Lib3
~/projects/ProjectB
~/projects/ProjectC
~/projects/Lib1
~/projects/Lib2
~/projects/Lib3

したがって、A のライブラリは、B および C で使用される他のコピーと競合しません。

問題は、新しいワークスペースにデフォルト設定があり、すべてのパースペクティブ、キーボード ショートカット、およびその他のものがなくなっていることです。
フォルダを次のように配置しました。

~/projects/EclipseSettings
~/projects/.metadata/.plugins/org.eclipse.core.runtime/.settings -> ~/projects/EclipseSettings
~/projects/ProjectA/.metadata/.plugins/org.eclipse.core.runtime/.settings -> ~/projects/EclipseSettings
~/projects/ProjectA/Project
~/projects/ProjectA/Lib1
~/projects/ProjectA/Lib2
~/projects/ProjectA/Lib3
~/projects/ProjectB
~/projects/ProjectC
~/projects/Lib1
~/projects/Lib2
~/projects/Lib3

ご覧のとおり.settings、最初のワークスペースのフォルダーを新しいフォルダー に移動し、すべてのワークスペースの をその Eclipse 設定フォルダーにEclipseSettingsシンボリック リンクしました。.settings

うまくいきません。

たとえば、command+Mを SVN commit に割り当てました。

  • 初期~/projectsワークスペースをロードすると、キーボード ショートカットが機能します。
  • 新しいワークスペースをロードする~/projects/ProjectAと、キーボード ショートカットはEclipse設定の「キー」セクション内にあり、SVN コミットに割り当てられますが、機能しません。そのショートカットを使用しても何も起こりません。

なんで?org.eclipse.core.runtime/.settingsワークスペースを定義するファイル以外のファイルはありますか?
また、パースペクティブがありません。Java フォーマッターがなくなったようです。最初のワークスペースで有効にしたのに、保存アクションで有効にできませんでした...

そのワークスペースを使用してプロジェクトを管理する必要があるかどうか疑問に思っています。また、ワークスペース/プロジェクトを使用する Eclipse を使用しているのに、IntelliJ の方がすべてを管理する方法が優れているように見えるのも不思議です。しかし、私はすでに切り替えを試み、Eclipseに固執しました。
IntelliJにもう一度チャンスを与えるべきかもしれませんが、最初にそれについてのフィードバックをお願いします。

4

1 に答える 1

2

ワークスペースを互いに入れ子にしないでください。そうしないと、いずれかを変更すると、もう一方がファイル システムと同期しなくなり、次にそのワークスペースを開くときに混乱が生じます。Eclipse は、ファイル システムの単なる 1:1 コピーではなく、ワークスペース内のリソースの独自の状態を管理することに注意してください。

メタデータ フォルダーをシンボリック リンク (またはその他の方法) で共有しないでください。多くの人がそれを試しましたが、うまくいきません。Eclipse プラグインのメタ情報の多くはメタデータ フォルダーに保存されますが、そうする必要はありません。そのため、多くのプラグインは、プロジェクトのサブフォルダー、隠しファイル、およびその他の場所にも情報を保存します。そのすべての情報をコピーまたはシンボリック リンクできない限り、メタデータ フォルダーをシンボリック リンクするだけでは不整合が発生します。

代わりに利用可能なツールを使用してください。

  • 新しいワークスペースを作成するとき、現在の設定からコピーするよう求められます。それを行う!
  • PulseYoxosWorkspace メカニック、または別のサードパーティ製ツールを使用して、ワークスペースとプロジェクトの「プロファイル」を作成します。それら 3 については、stackoverflow を検索して、他の多くの人々も手動同期を試みましたが、あまり成功していないことを確認してください。
于 2013-03-23T12:28:06.307 に答える