执行命令:sudo vi /etc/launchd.conf
然后文件内的书写格式为:setenv 变量名 变量值
举例:setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
重启后生效,但是这个方法好像对GUI(*.app)程序不起作用,仅对CLI起作用
从网上还找到另外一个针对单个GUI程序的环境变量的修改方法,但是我没有验证是否正确,先给摘录过来备份:
还是以eclipse举例:sudo vi eclipse.app/Contents/Info.plist
添加以下内容至根dict标签下:LSEnvironment
JAVA_TOOL_OPTIONS
-Dfile.encoding=UTF-8
LANG
zh_CN.UTF-8
整个文件看上去大概像这样:<?xml version="1.0" encoding="UTF-8"?>
LSEnvironment
JAVA_TOOL_OPTIONS
-Dfile.encoding=UTF-8
LANG
zh_CN.UTF-8
然后执行:/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/eclipse.app
使其生效,或者/Applications/eclipse改名后再次运行