2012-09-25 26 views
29

में जोड़ने के बिना JVM प्रारंभ करता हूं तो यह प्रभावी होता है। डिफ़ॉल्ट लोकेल ओएस से प्राप्त होने के तरीके में Java 1.7 में कोई बदलाव आया था। पुराने व्यवहार को बहाल करने के तरीके हैं उदा। एक JVM उदाहरण प्रारंभ करते समय ध्वज -Dsun.locale.formatasdefault = सत्य सेट करके।जावा सिस्टम प्रॉपर्टी कैसे सेट करें ताकि जब भी मैं कमांड लाइन तर्क

मैं इस ध्वज को स्थायी रूप से सेट करना चाहता हूं ताकि जब भी मैं एक जेवीएम उदाहरण शुरू करता हूं तो मुझे इसे कमांड लाइन तर्कों में निर्दिष्ट करने की आवश्यकता नहीं होती है। क्या JVM के लिए डिफ़ॉल्ट सेटिंग्स को बदलने के लिए कोई फ़ाइल या कोई अन्य संभावना है? Eclipse.ini फ़ाइल की तरह कुछ लेकिन JVM के लिए खुद ही?

+0

मैं डॉन विश्वास नहीं है, लेकिन आप एक बूट क्लास बना सकते हैं जो वांछित कमांड लाइन तर्कों के साथ स्वचालित रूप से आपके प्रोग्राम को निष्पादित करता है (किसी अन्य वर्ग में "सत्य" मुख्य विधि के साथ)। – Vulcan

उत्तर

38

आप अपने ओएस में पर्यावरण परिवर्तनीय JAVA_TOOL_OPTIONS सेट कर सकते हैं। सभी जावा टूल्स (जावा, जावैक, ..) इस चर को उठाएंगे और इसका इस्तेमाल करेंगे। तो आप उदा।

SET JAVA_TOOL_OPTIONS=-Dsun.locale.formatasdefault=true 

मैं प्रत्येक JVM के लिए एक विशिष्ट लोकेल को मजबूर करने के लिए इसका उपयोग करता हूं।

लेकिन यह केवल तभी काम करता है जब आपका एप्लिकेशन जावा टूल्स के माध्यम से शुरू होता है। यदि यह उदाहरण है एक सी प्रोग्राम से शुरू हुआ जो जेवीएम डीएलएल को कॉल करता है इसका उपयोग नहीं किया जाएगा।

संपादित करें: मैं सिर्फ यह परीक्षण किया है, और यह JAVA_TOOLS_OPTIONS भी उठाया जाता है लगता है जब DLLs शुरू कर रहे हैं

सी (एक लांचर के रूप में WinRun4J का उपयोग करता है एक स्विंग आवेदन के साथ सत्यापित): http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/envvars.html

+3

हम '_JAVA_OPTIONS' का उपयोग करते हैं और ऐसा लगता है कि यह उपयोग के लिए काम करता है, यह नहीं पता कि यह डीएलएल के माध्यम से कॉल करने के लिए काम करेगा या नहीं, मुझे शक है। – MadProgrammer

+0

JAVA_TOOL_OPTIONS - यही वही है जो मुझे चाहिए, धन्यवाद! –

+0

@ बुगपेकर, आप तब जवाब स्वीकार कर सकते हैं। ;) – Vadzim