首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过设置环境变量启动mac eclipse

通过设置环境变量启动mac eclipse
EN

Stack Overflow用户
提问于 2009-05-06 14:03:31
回答 9查看 44.5K关注 0票数 31

我的公司提供了一个基于eclipse的开发环境,它需要为底层工具链设置一些环境变量,这样就可以同时安装多个版本,而不会接管系统。

我想提供一个图标,在finder或码头中设置这些图标,然后启动eclipse,这样客户就不会意外地启动eclipse,而不需要设置环境。这就是我迄今尝试过的:

  1. 在Info.plist中为eclipse设置环境:

这应该是一种很好的方法,但我不能让它添加到现有路径中(比如导出PATH=/myapp/bin:$PATH).

  • bash脚本包装eclipse):

我创建了一个名为eclipse.command的bash脚本来设置环境,然后启动eclipse。这将打开一个终端窗口以及eclipse图标,并允许人们为裸eclipse“保持在码头上”。我不能将application.

  • Applescript放在码头上,因为它不是包装eclipse.command的eclipse.command:

围绕eclipse.command的Applescript包装器使它看起来像一个应用程序,并防止终端窗口出现。不幸的是,我现在为applescript和eclipse获得了一个停靠图标,因此仍然可以将裸露的eclipse保存在码头上。

有什么建议吗?我是不是完全搞错了?

EN

回答 9

Stack Overflow用户

发布于 2009-07-25 18:52:58

另一种解决方案是,当用户启动MacOS应用程序时,用设置环境的外壳包装器替换由Eclipse运行的可执行文件。

在目录/Applications/eclipse/Eclipse.app/Contents/MacOS.中创建一个名为"eclipse.sh“的空文本文件

在文本编辑器中打开eclipse.sh,输入以下内容:

代码语言:javascript
运行
复制
#!/bin/sh

export ENV_VAR1=value
export ENV_VAR2=value

logger "`dirname \"$0\"`/eclipse"

exec "`dirname \"$0\"`/eclipse" $@

在示例中,ENV_VAR1和ENV_VAR2是正在设置的环境变量。这些变量对从Eclipse内部启动的进程是可见的。作为调试工具,记录器命令将把eclipse可执行文件的路径记录到system.log。

在终端中,设置外壳脚本eclipse.sh的可执行标志,即:

代码语言:javascript
运行
复制
chmod +x /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.sh

打开Eclipse.app Info.plist并将键CFBundleExecutable的值从eclipse更改为eclipse.sh。

MacOS X不会自动检测Eclipse.app的Info.plist已经改变。因此,您需要使用lsregister命令强制更新终端中的LaunchService数据库:

代码语言:javascript
运行
复制
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/Eclipse.app

下次从Dock或Finder启动Eclipse.app时,应该设置环境变量。

票数 47
EN

Stack Overflow用户

发布于 2011-07-20 18:09:16

我创建了以下内容:

别名start-eclipse='open /Applications/eclipse/Eclipse.app‘

如果从命令行运行start-eclipse,所有env都将被捕获。这样,您只需要在命令行和eclipse环境中维护一组env。

票数 8
EN

Stack Overflow用户

发布于 2009-05-06 14:16:08

看看一个相关的问题:Environment variables in Mac OS X

基本上,这涉及创建一个~/.MacOSX/environment.plist文件。

注销并登录environment.plist,以便被..App的

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/829749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档