以下场景:
我们想为我们的 Eclipse 项目使用一个根文件夹。自从我看到,那个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 使用无限的用户。在这种情况下,您不使用任何内部包。