так как обновление до OSX Mountain Lion У меня возникли проблемы с настройкой переменных окружения для eclipse и maven.
Моя цель - запустить команду maven в Eclipse. Эта команда должна загружать артефакты (разрешать зависимости) из удаленного репозитория. Репозиторий аутентифицируется через HTTPS.
Я следил за Руководство по доступу к удаленному репозиторию через аутентифицированный HTTPS и добавил строки ниже для моего .bash_profil. Если я запускаю 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
(см. также Установить переменные среды в Mac OS X Lion). Это отлично работало для OSX Lion.
Но Apple изменила это поведение на Mountain Lion. Я прочитал environment.plist больше не поддерживается, и новый способ - отредактировать Info.plist самого .app(Где переменные системной среды заданы в 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>
Как вы видите, я изменил Info.plist моего Eclipse.app. Но это не сработало. Я начинаю maven внутри Eclipse. Но maven не может загрузить артефакты, потому что удаленному репозиторию не доверяют. Я думаю, что Eclipse не использует переменные среды, определенные в Info.plist
Есть ли у вас предложения по решению этой проблемы?
Спасибо за ваши ответы!