मुझे ग्रहण और मेवेन के लिए पर्यावरण चर सेट करने में कुछ समस्याएं आई हैं।ओएसएक्स माउंटेन शेर पर किसी एप्लिकेशन में पर्यावरण चर सेट करने के लिए कैसे? ओएसएक्स माउंटेन शेर के अपग्रेड के बाद
मेरा लक्ष्य एक्लिप्स में एक मेवेन कमांड चलाने के लिए है। इस कमांड को रिमोट रिपोजिटरी से कलाकृतियों (संकल्प को हल करने) को डाउनलोड करने की आवश्यकता है। भंडार HTTPS के माध्यम से प्रमाणीकृत है।
मैंने Guide to Remote repository access through authenticated HTTPS का पालन किया है और नीचे दिए गए लाइनों को मेरे .bash_profil में जोड़ा है। यदि मैं टर्मिनल में मैवेन चला रहा हूं तो हर चीज ठीक काम करती है।
export MAVEN_OPTS="-Xmx512m -Djavax.net.ssl.trustStore=/Users/myUser/.knowncerts/trust.jks -Djavax.net.ssl.trustStorePassword=trustPwd"
लेकिन यह केवल टर्मिनल के लिए काम करता है, न कि अनुप्रयोगों के लिए। (यह भी Set environment variables on Mac OS X Lion देखें) पिछले OSX-संस्करण पर आप
~/.MacOSX/environment.plist
को MAVEN_OPTS चर जोड़ने के लिए किया था यह OSX शेर के लिए पूरी तरह से काम किया।
लेकिन ऐप्पल ने माउंटेन शेर पर इस व्यवहार को बदल दिया है। मैंने पर्यावरण पढ़ा है। प्लिस्ट अब समर्थित नहीं है और नया तरीका है .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 को बदल दिया है। लेकिन यह काम नहीं किया। मैं ग्रहण के भीतर मेवेन शुरू करता हूँ। लेकिन मैवेन कलाकृतियों को डाउनलोड करने में सक्षम नहीं है, क्योंकि रिमोट रिपोजिटरी विश्वसनीय नहीं है। मुझे लगता है कि ग्रहण पर्यावरण के चर का उपयोग नहीं करता है जिसे मैंने Info.plist
में परिभाषित किया है क्या आपके पास इस समस्या को हल करने के लिए कोई सुझाव है?
आपके उत्तरों के लिए धन्यवाद!
तेज उत्तर के लिए धन्यवाद! – Loki
दुर्भाग्यवश यह मेरी समस्या का समाधान नहीं किया। जब मैं स्क्रिप्ट के साथ ग्रहण शुरू करता हूं, तब भी यह 'MAVEN_OPTS' का उपयोग नहीं करता है। लेकिन अगर मैं उदाहरण के लिए एक अलग 'एम 2_एचओएमई' निर्यात करता हूं, तो ग्रहण इस नए मेवेन-होम का उपयोग करता है। – Loki