Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在OSX Mountain Lion上为应用程序设置环境变量?_Java_Eclipse_Maven_Environment Variables_Osx Mountain Lion - Fatal编程技术网

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

Java 如何在OSX Mountain Lion上为应用程序设置环境变量?,java,eclipse,maven,environment-variables,osx-mountain-lion,Java,Eclipse,Maven,Environment Variables,Osx Mountain Lion,自从升级到OSX Mountain Lion之后,我在为eclipse和maven设置环境变量方面遇到了一些问题 我的目标是在Eclipse中运行maven命令。此命令需要从远程存储库下载人工制品(解析依赖项)。存储库通过HTTPS进行身份验证 我遵循了,并在.bash_profile中添加了以下行。如果我在终端运行maven,一切正常 export MAVEN_OPTS="-Xmx512m -Djavax.net.ssl.trustStore=/Users/myUser/.knowncerts

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

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

我遵循了,并在.bash_profile中添加了以下行。如果我在终端运行maven,一切正常

export MAVEN_OPTS="-Xmx512m -Djavax.net.ssl.trustStore=/Users/myUser/.knowncerts/trust.jks -Djavax.net.ssl.trustStorePassword=trustPwd"
但这只适用于终端,不适用于应用程序。在以前的OSX版本中,您必须将MAVEN_OPTS变量添加到

~/.MacOSX/environment.plist
(另请参见)这对OSX Lion非常有效

但苹果已经改变了山狮的这种行为。我已经读到environment.plist不再受支持,新的方法是编辑.app本身()的Info.plist。似乎您必须添加一个包含所有变量的字典

<?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>

环境
M2_之家
/usr/share/maven
马文努选择
-Xmx512m-Djavax.net.ssl.trustStore=/Users/myUser/.knowncets/trust.jks-Djavax.net.ssl.trustStorePassword=trustPwd
Cbundlexecutable
日食
cfbundlegetingfostring
MacOSX的Eclipse3.8,版权归IBM公司和其他公司所有,2002年、2011年。版权所有。
循环流化床锅炉
Eclipse.icns
CbundleIdentifier
org.eclipse.eclipse
CbundleInfo字典版本
6
CFBundleName
日食
CbundlePackageType
应用
CbundleShortVersionString
3.8
CFBundleSignature
????
循环流化床锅炉
3.8
CfBundledDevelopmentRegion
英语
cfbundleLocalization
应收账
反恐精英
da
埃尔
EN
锿
判定元件
fi
fr
胡
信息技术
信息战
青年成就组织
让开
nl
不
pl
pt_BR
pt
茹
sv
tr
中荷香港
zh_TW
zh
日食
-钥匙圈
~/.eclipse\u键环
-展示地点
如您所见,我更改了Eclipse.app的Info.plist。但这并不奏效。我在Eclipse中启动maven。但是maven无法下载这些人工制品,因为远程存储库不受信任。我认为Eclipse没有使用我在Info.plist中定义的环境变量

你对如何解决这个问题有什么建议吗

谢谢你的回答

从这里开始:


然后,使用上的步骤,将上述脚本转换为一个可以保存在dock上的应用程序。

您可以在eclipse中直接在maven的“调试配置”->“环境”选项卡下设置env变量。

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

对于临时环境变量,请在Terminal.app中运行此命令,然后重新启动需要访问该变量的所有应用程序:

launchctl setenv MYVARIABLE value
要使环境变量在重新启动期间保持不变,请创建
/etc/launchd.conf
,并为每个变量添加一行,然后重新启动整个系统:

setenv MYVARIABLE value
这为我设置了一个全局环境变量,该变量可以由OS X 10.8.2上的IntelliJ IDEA CE 12.0继承。不是很优雅,但很管用

或者,您可以在Terminal.app中设置环境变量,然后从命令行启动要从中访问环境变量的应用程序。启动的应用程序将从终端会话继承环境。在Terminal.app中,设置环境变量并使用类似于
open-a“app Name”的命令启动另一个app


这将打开IntelliJ IDEA,我的代码可以在其环境中访问
$MYVARIABLE

终端窗口上的命令步骤:

  • vi~/.bash_简介
  • 按i键(使vi编辑器处于编辑模式)
  • 在vi编辑器窗口中输入环境变量
    • e、 g.导出JAVA_HOME=/Users/Shared/Jenkins/HOME/tools/hudson.model.JDK/java8
  • esc键后接:wq
  • source~/.bash_配置文件

  • 不幸的是,这并没有解决我的问题。当我用脚本启动Eclipse时,它仍然没有使用“MAVEN_OPTS”。但如果我导出一个不同的“M2_HOME”,Eclipse将使用这个新的Maven-HOME。这对于以后的
    macOS
    版本不再有效:
    setenv MYVARIABLE value
    
    export MYVARIABLE=value
    open -a "IntelliJ IDEA 12 CE"