2012-03-13 15 views
6

क्या जावा में एक डिफ़ॉल्ट सिस्टम एनवायरनमेंट वेरिएबल है जिसे हम इसे सेट करते समय हमेशा पढ़ा/जोड़ दिया जाएगा? CATALINA_OTPS/JAVA_OPTS आदि केवल TOMCAT/JBoss आदिजावा सिस्टम पर्यावरण वैरिएबल

  1. मैं जावा प्रणाली गुण के माध्यम से यह स्थापित करने के लिए (जो -Dprop1 = मान 1 -Dprop2 2 = मान के माध्यम से में पारित हो जाता है) के रूप में यह खोल शामिल नहीं करना चाहता/बैच के लिए लगता है स्क्रिप्ट।
  2. इसे ओएस में काम करना चाहिए, जैसे कि विंडोज़ में डबल क्लिक जार फ़ाइल।
  3. इसे विभिन्न जेआरई (सूर्य, आईबीएम, ओपनजेडीके इत्यादि) में काम करना चाहिए।
  4. इसमें अतिरिक्त कोडिंग शामिल नहीं होनी चाहिए।
  5. यह अधिकांश लाइब्रेरी कॉन्फ़िगरेशन फ़ाइल में काम करना चाहिए, जैसे log4j स्तर $ {LOG_LEVEL} सेट करना।

अद्यतन: जोड़ा गया आइटम # 4 और 5 के शीर्षक से निकालें ओएस मेरे सवाल का स्पष्ट करने के।

अद्यतन 2 धारणा के जवाब को देखने के बाद, यह मेरी आइटम 2 की तरह लगता है और 3 System.getenv के माध्यम से प्राप्त किया जा सकता। आइटम 4 और 5 कैसे प्राप्त करें?

यहां परिदृश्य का उदाहरण दिया गया है: कल्पना करें कि अब JAVA_DEFAULT_OPTS एक पर्यावरण चर है जो जावा द्वारा पढ़ा जाएगा क्योंकि यह अब मानक बन गया है। विकास डेस्कटॉप मशीन पर, मैंने JAVA_DEFAULT_OPTS=-DLOG_LEVEL=DEBUG -Xmx384m सेट किया है; उत्पादन सर्वर मशीन पर, ग्राहक JAVA_DEFAULT_OPTS=-DLOG_LEVEL=INFO -Xmx1024m सेट करते हैं। जब मैं/उपयोगकर्ता विंडोज़ पर जार फ़ाइल को डबल क्लिक करते हैं, तो एप्लीकेशन अलग-अलग लॉग 4j स्तर और अधिकतम मेमोरी ढेर आकार होगा।

  • os.name
  • os.arch
  • os.version

सभी:

उत्तर

10

_JAVA_OPTIONS नामक एक विशेष पर्यावरण चर है, इसका मूल्य JVM (java.exe) द्वारा उठाया जाएगा।

Windows में:

set _JAVA_OPTIONS=-Xms64m -Xmx128m -Dawt.useSystemAAFontSettings=lcd 

लिनक्स में:

export _JAVA_OPTIONS='-Xms64m -Xmx128m -Dawt.useSystemAAFontSettings=lcd' 

जावा वेब के लिए शुरू यह JAVAWS_VM_ARGS है। Javaw.exe (एप्लेट) के लिए, यह _JPI_VM_OPTIONS है।

+0

यह काम करता है। कम से कम विंडोज़ में सूर्य जेआरई के साथ। लिनक्स को भी काम करना चाहिए (http://stackoverflow.com/a/1508684/418439)। मैक भी काम करता है तो कोई मुझे बताएगा। क्या यह एक ईस्टर अंडे है? यह आधिकारिक तौर पर http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html पर भी दस्तावेज नहीं किया गया है। मुझे इस कुछ साल पहले पूछना चाहिए ... :( –

+0

@CKLee, आप जावा 2 डी दस्तावेज में इसका उल्लेख पा सकते हैं, https://docs.oracle.com/javase/8/docs/technotes/guides/2d /flags.html और http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-Desktop/html/plugin.html – RealHowTo

1

जावा एक मानक ओएस सिस्टम वातावरण चर कि हमेशा जब JVM शुरू की है सेट कर दिया जाता है 'System.getProperty (propertyName) के माध्यम से सुलभ'

यदि आपको इससे अधिक कुछ चाहिए तो आप हमेशा Management API से।

+0

क्या आपका मतलब जावा प्रबंधन एक्सटेंशन (जेएमएक्स) एपीआई है? अतिरिक्त कोडिंग के बिना इसे कैसे करें? –

+0

प्रबंधन API के लिए एक लिंक शामिल है।सुनिश्चित नहीं है कि 'अतिरिक्त कोडिंग' से आपका क्या मतलब है, आपको कम से कम एक या दो पंक्तियों को कोड की आवश्यकता है जो आपको आवश्यक जानकारी तक पहुंचने के लिए आवश्यक है। – Perception

+0

मैंने अपना प्रश्न स्पष्ट करने के लिए आइटम # 5 जोड़ा है। –

संबंधित मुद्दे