在Mac上打开多个Eclipse工作区

205

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

在其他平台上,我可以启动额外的Eclipse实例,但是Mac不允许我打开同一个应用程序两次。除了保留两份Eclipse副本之外,是否有更好的方法?

20个回答

243

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

cd /Applications/eclipse/

open -n Eclipse.app

请确保明确指定“ .app ”版本(目录); 在OS X Mountain Lion中,错误使用符号链接,例如open -n eclipse,可能会遇到一个GateKeeper阻止访问:

“eclipse”无法打开,因为它来自未知的开发者。

您的安全性偏好设置只允许从Mac App Store和已识别的开发者安装应用程序。

即使删除了扩展属性com.apple.quarantine也无法解决这个问题。相反,只需使用“ .app ”版本即可依赖于您先前的同意或提示您一次:

“Eclipse”是从互联网下载的应用程序。您确定要打开它吗?


它对我也起作用了... 完全正常工作。非常感谢。 - agrawalankur
太棒了 - 绝对是这个帮助的加一。这真的不应该这么难...你是我的救星。 - iTrout
2
在我看来,这是更好的答案,因为即使你关闭终端,Eclipse仍然保持运行状态。 - Scott White
1
对于Eclipse Mars:./Eclipse.app/Contents/MacOS/eclipse - To Kra
这应该是被接受的答案: -n 即使已经运行了一个实例,也要打开应用程序的一个新实例。 - Alexei Blue
(现在在/Applications/Eclipse Java.app/Contents/MacOS) - nsandersen

182

13
很好。它甚至可以添加一个漂亮的徽章到Dock图标和任务切换器中的图标上。完美! - Arjan
7
这是目前最容易实施且最符合问题本意的解决方案。其他答案似乎仅因其年龄较长而得到了更高的评分。 - Louth
这是最简单的方法。如果您经常启动多个实例,可以将其脚本化到CLI中。但是,如果只是偶尔启动另一个实例,那么这是最好的选择。 - Bane
2
我怀疑你没有在Java 7或更高版本上运行Eclipse。 - torkildr
6
这是最新插件的当前链接:https://marketplace.eclipse.org/content/os-x-eclipse-launcher,特别重要的是因为在Eclipse的市场网站上搜索现在会导致无限重定向...(叹气) - chaqke
显示剩余11条评论

179

编辑:截至10.5版本,Milhous 的答案似乎是官方支持的方法。不过,早期版本的OS X甚至10.5及以上版本仍可使用以下说明。


  1. 打开命令行(终端)

  2. 导航到Eclipse安装文件夹,例如:

    • cd /Applications/eclipse/
    • cd /Developer/Eclipse/Eclipse.app/Contents/MacOS/eclipse
    • cd /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse
    • cd /Users/<usernamehere>/eclipse/jee-neon/Eclipse.app/Contents/MacOS
  3. 启动Eclipse:./eclipse &

这个命令将启动Eclipse,并立即将进程置于后台。

重复上述步骤以打开尽可能多的独立Eclipse实例。


警告

您可能需要更改Tomcat服务器端口,以在不同/多个Tomcat实例中运行项目,请参见Tomcat Server Error - Port 8080 already in use


14
答案缺少一些路径的部分。例如,我的路径是:/Developer/Eclipse/Eclipse.app/Contents/MacOS/eclipse & - Lara Dougan
@LaraDougan 为什么你的Eclipse位于/Developer下面? - Thorbjørn Ravn Andersen
这里有另一种方法可以实现,而且不会将进程放到后台。这是链接:https://blogs.oracle.com/dns/entry/opening_multiple_eclipse_instances_on - Pirate
1
对于Mac,您可以在终端中从任何目录创建别名来执行此操作:alias eclipse='open -n /Applications/eclipse/Eclipse.app'。-n是为了“即使已经运行一个实例,也要打开应用程序的新实例。” - Jeffrey Martinez
虽然这里的解决方案对我有效,但不幸的是,它会失去我在 Eclipse 中使用 BetterTouchTool 的所有快捷方式。也许使用不同的路径/可执行文件会更好地与 BetterTouchTool 兼容。 - Marcus
显示剩余7条评论

26

要创建这个,您需要导航到Eclipse.app目录并使用以下命令:

open -n Eclipse.app

这个解决方案对我很有效,是最好的选择,应该被接受为答案。 - Carlos B. Flores

20

实际上,更好的(GUI)解决方案是将Eclipse.app复制到例如Eclipse2.app中,这样您就会在Dock中拥有两个Eclipse图标以及在Spotlight中拥有Eclipse2。如果需要,请重复此过程。


这实际上是我最终采取的做法。事实上,由于我很少在进行中的项目中升级Eclipse,而是使用最新版本的Eclipse启动新项目,因此我现在在Dock中有三个不同版本的Eclipse。 - Thilo
1
我做的事情差不多,但是我每个工作区都有一个应用程序副本,然后将其添加到Info.plist中:<string>-data</string><string>pathto/workspaces/myworkspace</string>。再加上一个插件,根据工作区名称添加图标徽章,我就很开心了。 - Danny Thomas

19
如果问题是如何轻松地在Eclipse中使用多个不同的工作区,那么你必须使用一个折衷方案,因为OS X中的快捷键没有提供传递命令行参数的机制,例如Eclipse需要的“--data”参数来指定工作区。虽然可能有不同的原因来创建Eclipse安装的副本,但是基于这个目的进行复制是不好的(现在你必须维护多个Eclipse配置、插件等)。
无论如何,以下是一种解决方法。在(单个)Eclipse目录中创建以下脚本(包含Eclipse.app的目录),并给它添加“.command”后缀(例如eclipse-workspace2.command),这样你就可以从它创建一个别名:
#!/bin/sh
# open, as suggested by Milhous
open -n $(dirname $0)/Eclipse.app --args -data /path/to/your/other/workspace

现在在您的桌面或任何想要的位置创建该文件的别名。

您可能需要为每个不同的工作区重复此过程,但至少它将使用相同的Eclipse安装。


1
对于解决方案的加1,我想提出一个论点,即拥有具有不同设置的多个工作区。作为承包商,您经常必须采用客户的风格和偏好。通过创建新的工作区,您可以轻松地将工作分配给几个客户。此外,您可能需要在处理新帐户时支持旧帐户。使用此方案,您可以同时保持两个帐户打开。我目前不断切换工作区,但我喜欢根据需要同时打开两个(或所有)的便利性。 - mobibob

6

2018 更新,因为许多答案已经不再有效

使用 Eclipse Oxygen 在 OS X Heigh Sierra (10.13) 上

前往安装 Eclipse 的位置。右键单击 -> 显示包内容 -> 内容 -> MacOS -> 双击名为 eclipse 的可执行文件。

一个终端窗口将打开,并启动一个新的 Eclipse 实例。

请注意,如果关闭终端窗口,则新的 Eclipse 实例也会被关闭。

进入图像描述

为了使您的生活更加轻松,您可以将可执行文件拖到您的 dock 中以便快速访问。

进入图像描述


4

不要简单地复制Eclipse.app,而是创建一个自动化程序来运行上面的shell脚本。

运行自动化程序,创建应用程序。

选择实用工具->运行shell脚本,并添加上述脚本(需要eclipse的完整路径)

然后您可以将其拖到Dock中作为常规应用程序。

对于其他工作空间,请重复此操作。

您甚至可以简单地更改图标 - https://discussions.apple.com/message/699288?messageID=699288򪮘


4

打开终端并运行open -n /Applications/Eclipse.app以启动新的实例。


4

另一种方法是只复制“Eclipse.app”文件,而不是整个eclipse目录。右键单击“Eclipse.app”文件,然后点击“复制”选项创建一个副本。


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