15

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

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

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

4

6 回答 6

3

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

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

  1. 在项目代码中使用工作区变量而不是绝对路径。
  2. 将您的工作区作为 /Workspace 移动到 linux 中的某个位置,或者如果您想保持用户特定,请将工作区文件夹设置为 /home/user_name/Workspace。
  3. 在linux中有一个选项可以将windows的所有\更改为/。该选项可以在 eclipse 的文件菜单下找到。
  4. 更改查找类路径目录的设置,只需右键单击项目查看器面板中的项目菜单即可找到选项。
  5. 有一个选项可以从头开始构建项目。您只需单击该选项,eclipse 就会重新编译该项目。

一旦完成所有这些,并且所有数据库连接都已成功移植到 linux,那么您也将有一个在 linux 中运行的工作项目。

于 2009-04-10T07:50:05.073 回答
3

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

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

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

最后,远离 Mac 和 PC 上的 Java 并不完全相同。事实上,Eclipse 有两个 Mac 版本。我通常最终在 Mac 上的 Java 5 上运行和编译,这确实与 Java 6 有一些不兼容。

于 2009-04-04T15:25:41.137 回答
0

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

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

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

于 2009-04-04T17:02:58.797 回答
0

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

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

于 2012-01-29T17:47:19.993 回答
0

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

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

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

于 2009-08-21T12:49:31.137 回答
0

使用Workspace Preference Transferrer 插件

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

于 2012-07-07T14:54:51.297 回答