次のシナリオ:
Eclipse プロジェクトに1 つのルート フォルダーを使用したいと考えています。私が見たので、そのEclipseはマルチユーザーワークスペース(同じワークスペースで同時に多くのユーザー)をサポートしていないため、別のソリューションを探していました。
ランダムに、デフォルトの場所ではなく、ワークスペース外の場所 (すべてのクライアントが独自のワークスペースを取得する) で「新しいプロジェクト」を作成しました。
Eclipse は{workspace}/.metadata/.plugings/org.eclipse.core.resources/.projects/の下に生成されます
プロジェクトの場所に関する情報とその他のデータ (.safeable、.tree) のみを保持するフォルダー。そのため、プロジェクトの名前を変更すると、他のクライアントのプロジェクトが自動的に更新されます。ほとんどの場合、それほど悪くはありません。
私の質問: 私はそれで気分が悪い. ソースコードからこれらの「リンクされたプロジェクト」を作成するには、「内部パッケージ」を使用する必要があります。これが適切な動作であるかどうかはわかりません。
それで、一部のユーザーがEclipseアプリケーションでバイナリデータを共有する必要があるシナリオをどのように処理しますか. SVN と .git は、バイナリ ファイルにあまり慣れていません。
提案をいただければ幸いです。ありがとう。
アップデート
どのように私は問題を解決しました:
すべてのユーザーは自分のワークスペースを持っています。それに加えて、「中央ワークスペース」があります。これは単なる通常のワークスペースですが、そこからユーザー ワークスペース内のすべての IProject がリンクされます。
独自のワークスペースの外にある IProject をリンクするためのソース コードを次に示します。
IProjectDescription description = null;
description = ResourcesPlugin.getWorkspace().loadProjectDescription(new Path(path +"/.project"));
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(description.getName());
project.create(description, IProject.FORCE, null);
if (!project.isOpen()) {
project.open(null);
}
このコードはWorkspaceJob で実行する必要があります。
その後、実際にはワークスペースに配置されていない IProject を無制限のユーザーで操作できます。その場合、内部パッケージは使用しません。