小编Lok*_*oki的帖子

如何在OSX Mountain Lion上为应用程序设置环境变量?

自从升级到OSX Mountain Lion后,我在为eclipse和maven设置环境变量方面遇到了一些问题.

我的目标是在Eclipse中运行maven命令.此命令需要从远程存储库下载伪像(解析依赖项).存储库通过HTTPS进行身份验证.

通过经过身份验证的HTTPS跟踪了远程存储库访问指南,并将下面的行添加到我的.bash_profil中.如果我在终端中运行maven,那么每件事都可以.

export MAVEN_OPTS="-Xmx512m -Djavax.net.ssl.trustStore=/Users/myUser/.knowncerts/trust.jks -Djavax.net.ssl.trustStorePassword=trustPwd"
Run Code Online (Sandbox Code Playgroud)

但这只适用于终端而不适用于应用程序.在以前的OSX版本中,您必须添加MAVEN_OPTS变量

~/.MacOSX/environment.plist
Run Code Online (Sandbox Code Playgroud)

(另请参阅在Mac OS X Lion上设置环境变量)这对OSX Lion完美有效.

但是Apple已经在Mountain Lion上改变了这种行为.我已经阅读了environment.plist不再受支持,新方法是编辑.app本身的Info.plist(Mountain Lion中设置的系统环境变量在哪里?).看来你必须添加一个包含所有变量的LSEnvironment字典.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>LSEnvironment</key>
    <dict>
        <key>M2_HOME</key>
        <string>/usr/share/maven</string>
        <key>MAVEN_OPTS</key>
        <string>-Xmx512m -Djavax.net.ssl.trustStore=/Users/myUser/.knowncerts/trust.jks -Djavax.net.ssl.trustStorePassword=trustPwd</string>
    </dict>
    <key>CFBundleExecutable</key>
    <string>eclipse</string>
    <key>CFBundleGetInfoString</key>
    <string>Eclipse 3.8 for Mac OS X, Copyright IBM Corp. and others 2002, 2011. All rights reserved.</string>
    <key>CFBundleIconFile</key>
    <string>Eclipse.icns</string>
    <key>CFBundleIdentifier</key>
    <string>org.eclipse.eclipse</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>Eclipse</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string> …
Run Code Online (Sandbox Code Playgroud)

java eclipse environment-variables maven osx-mountain-lion

15
推荐指数
2
解决办法
3万
查看次数