OSX Mountain Lionへのアップグレード以来、私はeclipseとmavenの環境変数を設定することにいくつか問題があります。OSX Mountain Lion上のアプリケーションに環境変数を設定するには?
私の目標は、Eclipseでmavenコマンドを実行することです。このコマンドは、リモートリポジトリからアーティファクト(依存関係を解決する)をダウンロードする必要があります。リポジトリはHTTPSを介して認証されます。
私はGuide to Remote repository access through authenticated HTTPSに続き、以下の行を私の.bash_profilに追加しました。私がターミナルでmavenを走らせているなら、everythingsはうまくいきます。
export MAVEN_OPTS="-Xmx512m -Djavax.net.ssl.trustStore=/Users/myUser/.knowncerts/trust.jks -Djavax.net.ssl.trustStorePassword=trustPwd"
しかし、これは端末でのみ機能し、アプリケーションでは機能しません。以前のOSX-バージョンであなたは
~/.MacOSX/environment.plist
にMAVEN_OPTS変数を追加する必要がありました。これは完全にOSXライオンのために働いていた(またSet environment variables on Mac OS X Lionを参照してください)。
しかし、AppleはMountain Lionでこの動作を変更しました。私は環境を読んだ.plistはもはやサポートされておらず、新しい方法は.app自体のInfo.plist(Where are system environment variables set in 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で定義した環境変数を使用しないと思います
この問題を解決する方法はありますか?
ありがとうございました!ここから
お返事ありがとうございました! – Loki
残念ながら、これは私の問題を解決しませんでした。スクリプトを使ってEclipseを起動すると、まだ 'MAVEN_OPTS'は使用されません。しかし、たとえば別の「M2_HOME」をエクスポートすると、Eclipseはこの新しいMaven-Homeを使用します。 – Loki