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

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

现在我们需要将我们的开发环境移到Linux和Mac上。 但是在Unix上没有D:\。 Linux的home文件夹大部分是像Mac的/ home / username和/ Users / username。 我们发现Eclipse在引用项目时保持工作空间的绝对path,所以只需复制工作空间不再工作。 即使我们在Linux机器上手动创build/configuration工作区,仍然无法将其复制到其他用户,因为绝对path已更改。

我想我们的目标是让开发环境容易设置。 你有任何build议来移动Eclipse工作区?

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

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

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

最后,在Mac和PC上的Java不一样。 事实上,Eclipse有两个版本的Mac。 我通常最终运行并在Java 5上编译,这与Java 6有一些不兼容的地方。

我已经将我的eclipse项目从Windows XP移植到RHEL(从未尝试Mac)

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

  1. 在项目代码中使用工作区变量而不是绝对路径。
  2. 将工作空间转移到Linux中的某个位置作为/ Workspace,或者如果要保持其与用户相关的特定位置,请将工作空间文件夹设置为/ home / user_name / Workspace。
  3. 有一个选项可以将所有的窗口改为/在Linux中。 该选项可以在eclipse中的文件菜单下找到。
  4. 更改找到classpath目录的位置的设置,只需右键单击项目查看器面板中的项目菜单即可找到这些选项。
  5. 有一个从头开始构建项目的选项。 你只需点击该选项,日食将重新编译项目。

一旦完成了这一切,并且所有的数据库连接都已经成功移植到linux,那么你也可以在linux上运行一个工作项目。

我可以想到两种方法来做到这一点:

  1. 在Eclipse中使用工作区变量指向工作区所在的确切位置,如果需要的话。 然后,开发人员可以将所有东西放在Windows,Unix等工作空间上,然后定义变量并完成
  2. 如果编译总是在Eclipse中完成的,这意味着你不需要在任何地方真正需要任何绝对路径,那么将项目改为全部使用相对路径,并将Eclipse类路径等检入到源代码控制中。 因此,当开发人员检查Eclipse中的所有内容时,类路径和.project文件将位于项目的根级别,所有路径将被预定义。

对于选项#2,您可能需要具有多个.project.classpath文件,并让开发人员将相应的文件复制到位置。 也就是说,将.classpath.win复制到.classpath供Eclipse使用。

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

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

我们尝试了classpath变量并讨厌它们。 现在我们只在源代码仓库中的单个项目中拥有一切。

使用工作区首选传输器插件

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

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

压缩工作区。 只需压缩整个文件,然后转移它。 然后,您只需删除默认的驱动器引用: D:\ …或者任何以文件名开始的结尾。 然后,只需将它拖到新下载的Eclipse上的新空白工作区即可。