当前位置: 首页 > 知识库问答 >
问题:

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

黄弘新
2023-03-14

自从升级到OSX Mountain Lion之后,我在为eclipse和Maven设置环境变量时遇到了一些问题。

我的目标是在Eclipse中运行一个maven命令。该命令需要从远程存储库下载人工制品(解析依赖项)。存储库通过HTTPS进行身份验证。

export MAVEN_OPTS="-Xmx512m -Djavax.net.ssl.trustStore=/Users/myUser/.knowncerts/trust.jks -Djavax.net.ssl.trustStorePassword=trustPwd"
~/.MacOSX/environment.plist

(另请参见在Mac OS X Lion上设置环境变量)这对OSX Lion非常有效。

但苹果在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>
    <key>CFBundleShortVersionString</key>
    <string>3.8</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>3.8</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleLocalizations</key>
    <array>
        <string>ar</string>
        <string>cs</string>
        <string>da</string>
        <string>el</string>
        <string>en</string>
        <string>es</string>
        <string>de</string>
        <string>fi</string>
        <string>fr</string>
        <string>hu</string>
        <string>it</string>
        <string>iw</string>
        <string>ja</string>
        <string>ko</string>
        <string>nl</string>
        <string>no</string>
        <string>pl</string>
        <string>pt_BR</string>
        <string>pt</string>
        <string>ru</string>
        <string>sv</string>
        <string>tr</string>
        <string>zh_HK</string>
        <string>zh_TW</string>
        <string>zh</string>
    </array>
    <key>Eclipse</key>
    <array>
        <string>-keyring</string>
        <string>~/.eclipse_keyring</string>
        <string>-showlocation</string>
    </array>
</dict>
</plist>

正如您所看到的,我更改了Eclipse.app的info.plist。但这并不奏效。我在Eclipse中启动maven。但是maven无法下载人工制品,因为远程存储库不受信任。我认为Eclipse没有使用我在info.plist中定义的环境变量

谢谢你的回答!

共有1个答案

弘阳德
2023-03-14

不幸的是,这似乎是在OS X 10.8.X Mountain Lion中设置全局环境变量的最佳选项:

  • https://stackoverflow.com/a/588442/705157

对于临时环境变量,在terminal.app中运行此命令,并重新启动任何需要访问该变量的应用程序:

launchctl setenv MYVARIABLE value
setenv MYVARIABLE value
export MYVARIABLE=value
open -a "IntelliJ IDEA 12 CE"

这打开了IntelliJ IDEA,我的代码可以访问其环境中的$MyVariable

 类似资料:
  • 问题内容: 我知道这个问题以前已经问过很多,但是我确实读过,我会告诉你我所得到的。 我将列出在 OS X Yosemite 10.10.1* 中执行的命令 * Java版本 java -fullversion 哪个java 未设置Java home变量,因为当我这样做时: echo $ java_home 或 echo $ JAVA_HOME 或 echo $ Java_Home 我在终端上什么也

  • 问题内容: 我的服务器上有一个Upstart脚本,如下所示: 但是,该应用程序看不到NODE_ENV设置为正式生产。实际上,如果我在应用程序中使用console.log(process.env),则看不到NODE_ENV或CUSTOM。有什么想法吗? 顺便说一下,NODE_ENV =生产节点app.js可以正常工作。 问题答案: 从sudo手册页(sudo的Ubuntu版本) 有两种不同的方法来处

  • 我正在考虑是否可以根据应用程序部署到的Beanstalk环境将React应用程序设置为具有特定的环境变量。 我的目标是使预编译的react代码具有特定于该环境的环境变量。我希望避免向用户提供具有所有环境变量的JS代码 是否可以使用MsBuild条件,以便根据所选的Beanstalk环境运行不同的构建脚本?或者可能是基于Beanstalk内部环境变量的条件?

  • 本文向大家介绍如何在Linux上设置python环境变量PYTHONPATH?,包括了如何在Linux上设置python环境变量PYTHONPATH?的使用技巧和注意事项,需要的朋友参考一下 要将Linux上的PYTHONPATH设置为指向Python以在其他目录中查找模块和包导入,请按如下所示导出PYTHONPATH变量: 在这种情况下,我们将foo目录添加到PYTHONPATH中。请注意,我们

  • 本文向大家介绍如何在Mac上设置python环境变量PYTHONPATH?,包括了如何在Mac上设置python环境变量PYTHONPATH?的使用技巧和注意事项,需要的朋友参考一下 要在Mac OS上将PYTHONPATH设置为指向Python以在其他目录中查找模块和包导入,请按如下所示导出PYTHONPATH变量: 在这种情况下,将foo目录添加到PYTHONPATH。请注意,我们将附加它,而

  • 本文向大家介绍如何在Windows上设置python环境变量PYTHONPATH?,包括了如何在Windows上设置python环境变量PYTHONPATH?的使用技巧和注意事项,需要的朋友参考一下 要将Windows上的PYTHONPATH设置为指向Python以在其他目录中查找模块和包导入,请转到: 然后在系统变量下编辑PythonPath变量。在当前PYTHONPATH的末尾,添加分号,然后