在Mac上打开多个Eclipse工作区

时间:2020-03-06 14:34:18  来源:igfitidea点击:

如何在Mac上同时打开多个Eclipse工作区?

在其他平台上,我只能启动额外的Eclipse实例,但是Mac不允许我两次打开相同的应用程序。有比保留两个Eclipse副本更好的方法吗?

解决方案

编辑:Milhous的答案似乎是从10.5开始的官方支持方式。但是,按照以下说明,OS X的早期版本甚至10.5及更高版本仍然可以使用。

  • 打开命令行(终端)
  • cd / Developer / Eclipse / Eclipse.app / Contents / MacOS / eclipse`
  • cd / Applications / eclipse / Eclipse.app / Contents / MacOS / eclipse`
  • cd / Users / <用户名此处> / eclipse / jee-neon / Eclipse.app / Contents / MacOS`
  • 启动Eclipse:./eclipse&

最后一条命令将启动eclipse,并立即使进程后台运行。

冲洗并重复以打开所需的任意多个Eclipse实例。

警告

为了在不同/多个Tomcat实例中运行项目,可能必须更改Tomcat服务器端口,请参阅已使用Tomcat服务器错误端口8080。

这似乎是OS X支持的本机方法:

cd /Applications/eclipse/

open -n Eclipse.app

确保指定" .app"版本(目录);在OS X Mountain Lion中错误地使用符号链接(如" open -n eclipse"),可能会使一个GateKeeper停止访问:

"eclipse" can't be opened because it is from an unidentified developer. 
  
  Your security preferences allow installation of only apps from the Mac App Store and identified developers.

即使删除扩展属性" com.apple.quarantine"也无法解决该问题。相反,仅使用" .app"版本将取决于我们先前的同意,或者提示我们一次:

"Eclipse" is an application downloaded from the Internet. Are you sure you want to open it?

实际上,更好的(GUI)解决方案是将Eclipse.app复制到例如Eclipse2.app,在Dock中将有两个Eclipse图标,在Spotlight中将有Eclipse2. 根据需要重复。

我前一段时间找到了这个解决方案,不记得在哪里了,但对我来说似乎仍然很好用。

为我们要工作的每个工作区创建一个Eclipse.app的副本(对于本示例为ProjectB.app),然后打开ProjectB.app/Contents/MacOS/eclipse.ini并将这两行添加到文件的开头:

-data
/Users/eric/Workspaces/projectb

...替换工作区所在的位置。启动ProjectB.app时,它将自动从该工作空间开始,而不提示我们输入位置,并且我们应该能够与其他Eclipse实例同时运行,而不会出现问题。

如果问题是如何轻松地在多个不同的工作空间中使用Eclipse,则必须使用kludge,因为OS X中的快捷方式不提供传递命令行参数的机制,例如Eclipse用来传递" --data"参数指定工作空间。尽管可能有不同的原因来创建Eclipse安装的重复副本,但为此目的是IMNSHO,la脚(现在我们必须维护多个Eclipse配置,插件等)。

无论如何,这是一种解决方法。在(单个)Eclipse目录(包含Eclipse.app的目录)中创建以下脚本,并为其添加" .command"后缀(例如eclipse-workspace2.command),以便我们可以从中创建别名:

#!/bin/sh
# open, as suggested by Milhous
open -n $(dirname ##代码##)/Eclipse.app --args -data /path/to/your/other/workspace

现在,在桌面或者所需的任何位置创建该文件的别名。
我们可能必须对每个不同的工作区重复此过程,但是至少它将使用相同的Eclipse安装。