如何将Eclipse工作区和项目从Windows转移到Linux和Mac

时间:2009-04-04 15:20:49

标签: windows linux eclipse workspace

我们在Windows上开发了多年的产品。该产品由一个Eclipse工作区和大约20个项目组成。 在Windows上,我们要求每个开发人员将项目签入d:\ dev \ product文件夹,并将统一的工作区复制到d:\ dev \ prod_workspace。这样,无论何时设置新机器,我们只需将文件复制到同一文件夹,我们就可以立即开始工作。

现在我们需要将开发环境转移到Linux和Mac。但在Unix上没有D:\。 Linux的主文件夹主要是/ home /用户名和/用户/ Mac用户名。我们发现Eclipse在引用项目时保留工作空间中的绝对路径,因此简单地复制工作空间不再起作用。即使我们在Linux机器上手动创建/配置工作区,它仍然无法复制到另一个用户,因为绝对路径已更改。

我想我们的目标是允许轻松设置开发环境。你有什么建议可以移动eclipse工作区吗?

6 个答案:

答案 0 :(得分:3)

我为Mac和WIndows开发了一个基于Eclipse的产品(还没有尝试过Linux)。

我发现最好的解决方案是直接从源代码控制中手动检查每台机器上工作区中的项目。虽然项目结构确实在平台之间进行转换,但任何附件(例如版本控制的东西)都没有。我不知道为什么,但我猜每件事都有它的问题。 您可以通过为平台创建项目工作集(或其他任何名称,我认为它是PSF文件)来加速一些事情,然后在所有平台上重复使用它。

另一个问题是Eclipse版本不是100%兼容的。我遇到的一个问题是插件的清单文件,它们在每个平台上都有不同的语义(例如,如何处理实际上不存在的导出包),这让人头疼。

最后,要远离Mac和PC上的Java不一样。事实上,Eclipse有两个版本的Mac。我通常最终在mac上运行和编译Java 5,它与Java 6有一些不兼容性。

答案 1 :(得分:3)

我已将我的eclipse项目从windows xp移植到RHEL(从未尝试过Mac)

您的任务可以通过以下步骤完成: -

  1. 在项目代码中使用工作空间变量而不是绝对路径。
  2. 将您的工作区转移到linux中的某个位置/作为/ Workspace,或者如果您想保持其特定于用户,请将工作区文件夹设置为/ home / user_name / Workspace。
  3. 可以选择将所有窗口更改为/在linux中。该选项可以在eclipse的文件菜单下找到。
  4. 更改查找类路径目录的位置设置,只需右键单击项目查看器面板中的项目菜单即可找到选项。
  5. 可以选择从头开始构建项目。你只需要点击选项,eclipse就会重新编译项目。
  6. 完成所有这些操作,并且所有数据库连接都已成功移植到linux后,您也可以在linux中运行一个正在运行的项目。

答案 2 :(得分:0)

我可以想到两种方法:

  1. 如果需要,可以在Eclipse中使用工作空间变量指向工作空间所在的确切位置。然后开发人员可以将所有内容放在Windows,Unix等工作区中,然后定义变量并完成,或者
  2. 如果编译始终在Eclipse中完成,这意味着您并不真正需要任何绝对路径,那么将项目更改为所有使用相对路径并将Eclipse类路径等检查到源代码控制中。因此,当开发人员检出Eclipse中的所有内容时,类路径和.project文件将位于项目的根级别,并且所有路径都将被预定义。
  3. 对于选项#2,您可能需要拥有多个.project.classpath个文件,并让开发人员将相应的文件复制到位。也就是说,将.classpath.win复制到.classpath以供Eclipse使用。

答案 3 :(得分:0)

如果您从源存储库中签出项目,请考虑使用Team - > ProjectSets来处理这些。

首选项可以保存在文件中并加载。

我们尝试了类路径变量并厌恶它们。现在我们只在源库中的单个项目中拥有所有内容。

答案 4 :(得分:0)

我会分享我自己的解决方案:

压缩工作区。只需压缩整个文件,然后将其传输。然后,您需要做的就是删除默认驱动器引用:D:\ ...或者最终出现在文件名开头的任何内容。然后,您需要做的就是将其拖到新下载的Eclipse上的新空工作区。

答案 5 :(得分:0)

使用Workspace Preference Transferrer plugin

这允许您通过“切换工作区”对话框中的新选项将工作区设置从给定工作区传输到另一个工作区。