在双系统计算机上共享Eclipse项目

3
最近我把我的笔记本电脑改成了Ubuntu/Win7双系统,每个系统都有自己的分区,还有一个第三个共享分区。我想在不论哪个系统中启动,都可以使用Eclipse并访问我的SVN仓库。 如果我将本地的SVN仓库放在共享分区上,如何使Ubuntu和Windows中的工作空间均可以访问文件呢? 我能想到的唯一其他选择是使每个操作系统拥有自己的工作副本,并根据需要应用提交和更新。 为了澄清问题而编辑 我不是在询问是否可能同时为Linux和Windows使用单个工作空间。我想要的是在共享分区中有一个单一的源文件夹,该文件夹链接到每个工作空间。因此,文件路径会针对各操作系统进行设置,只有源代码才会被访问。
2个回答

5

我认为这可能并不太可能。

工作空间中有许多文件存储在 .metadata 文件夹中(例如JRE/JDK的定义或eclipse路径),这些文件将依赖于底层的文件系统(例如Windows的c:\eclipse和Linux的/home/me/eclipse)。

你最好能做的是创建两个不同的工作空间,一个用于Windows,另一个用于Linux。

这两个不同的工作空间将共享一些项目。这些项目不会位于任何这两个工作空间的所谓的默认位置下(即在workspace文件夹位置下),而是位于你共享分区下的一个单独的层次结构中。但由于这种解耦,你最终会做一些重复的事情(例如定义启动配置等...)。我想这是可以接受的。

最后,由于Linux可以很好地读取ntfs文件系统(除了ACLs,这实际上是一个加分项)使用ntfs3g,你可以将你的共享分区设置为NTFS。Windows不太擅长读写ext3fs(更别说ext4fs了)。只需确保使用相同的字符集挂载NTFS分区即可。

此外,你可以在虚拟机中运行Windows(例如VirtualBox),并通过标准的Samba或VirtualBox内置的共享文件夹机制将公共数据作为Linux共享文件夹进行共享,而不是使用双重启动。与双重启动的区别在于,理论上你可以欺骗eclipse,同时访问你的两个不同的工作空间,但它们将共享相同的项目。当然,这需要从Samba方面进行一些调整以进行锁定管理。


我编辑了我的问题,以更清楚地说明我想要什么。共享分区已经设置为NTFS,并且它运行得非常好。我尝试使用虚拟机(并在桌面上使用它),但是这是一台笔记本电脑,我注意到使用Virtualbox和VMware Player时会出现严重的系统减速。显然,笔记本CPU缺乏硬件虚拟化,并且与直接引导时相比,性能下降非常明显。 - Jason
你说得对,桌面虚拟化至少需要4GB的内存。另外需要注意的是,VMware并没有大量使用硬件虚拟化技术,据我所知,它们主要还是采用二进制翻译模式。此外,由于某些不明原因,一些笔记本电脑厂商会禁用VT-x(如果他们这样做,就可以从英特尔那里获得折扣),因此您需要修补BIOS(前提是CPU支持HW VT)。 - Alain Pannetier
我相信这是可能的,因为项目本身非常易于移植。这就是为什么你可以将它们导出为zip文件并在不同的操作系统之间导入。 - Alain Pannetier
分享项目的方法可能行得通。您需要了解SVN如何处理字符编码和换行符。许多源代码控制系统会在进出时进行调整(请参见我的答案)。如果SVN不这样做,或者您可以将其配置为不这样做,那么在操作系统之间共享项目目录可能是安全的。 - Konstantin Komissarchik

0
我不建议在两个操作系统之间共享相同的Eclipse工作空间,因为它们使用不同的路径语法。您还可能遇到放置在源代码控制中的文件中的字符编码和/或行分隔符问题。通常,源代码控制系统会在“检出”期间对这些进行调整,并在“检入”时进行反向调整。如果您在Windows上检索代码并在Linux上将其检查回去(或者反之亦然),则可能会遇到奇怪的问题。
我建议将Windows和Linux工作空间保持分开。

好的,我本来希望避免这种情况,因为它需要有两个本地工作副本。 - Jason

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接