您的位置:首页 > 编程语言 > Java开发

Mac电脑下myeclipse不能识别系统环境变量的问题终极解决方案

2017-06-17 01:12 369 查看

Mac电脑下myeclipse不能识别系统环境变量的问题

前面的博客里已经有一篇类似的文章,内容比较随意。这两天仔细研究了一下macbook系统下,系统环境变量和程序启动后读取到的环境变量方式,以下把收集到的内容和资料整理分享给大家。

偷懒者,请直接翻到页面底部,只看指令,不看解释

关键词

Mac电脑下myeclipse不能识别系统环境变量的问题

Mac电脑设置自定义的环境变量

Mac osx 系统设置了系统环境变量之后,打开eclispe不能识别的解决方法

Mac下系统启动程序环境变量的机制

测试环境

本机环境是 macOS Sierra 10.12.3

时间:2017.6.16

Mac电脑设置系统级别的环境变量,一般是更改 /etc/profile 文件的内容,添加系统环境变量!使用 sudo vi /etc/profile 命令,将自定义的环境变量加到 profile 文件中。

但是,此处的设置,只在控制台或个别系统软件有效。

言外之意,除terminal 之外的其他软件,例如:myeclispse或eclipse打开之后,并不能获取到自定义的环境变量!

具体原因是:Mac电脑在启动GUI软件时,即图形化的软件时,例如,启动 eclipse 和 myeclipse 有一个保护机制,并不是直接读取系统环境变量,而是读取用户范围内的环境变量和程序本身设置的变量。如果,用户定义了一个不常用的,例如:B20="2020"(随便扯的,举例用)那么,启动之后,并不能识别。
所以,如果,希望程序启动 eclipse 和 myeclipse 类似的软件时,需要提前设置好程序启动的环境变量。


以前的Mac系统,有多种解决方案,包括:

更改每一个程序里的 .plist 后缀的文件

更改~/.launchd.conf文件的内容

更改~/.MacOSX/environment.plist文件的内容

但是,随着Mac系统的升级,都没有作用了,或者淘汰了。

那么,问题来了,目前适用的终极解决方案是什么呢?

请看:

sudo vi /etc/profile
输入密码后,输入 i
将以下格式的环境变量输入到第二行
XX=whatever:you:want
launchctl setenv XX $XX
(其中 XX 为自定义的环境变量,= 后面是值)
按 esc 键后,输入 :wq!
确定!
重启!
搞定!


我来解释以下,launchctl 是unix 的一种脚本相关的命令,作用很多,这里通过此命令来设置启动项的环境变量。

友情提示,请善用谷歌,探索一下unix或Mac电脑的环境变>量的种类,以及启动程序的流程,在此过程中会受益良多!

本博客参考了以下内容:

Mac下系统环境变量的介绍

Mac OS X环境变量相关

Mac下eclipse java读取不到环境变量

Environment variables in Mac OS X

如果您觉得此文有用,愿意打赏,请打开微信扫一下,金额随意~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐