सेटिंग को सिस्टम गुणों में शामिल होने की आवश्यकता है ... और जावा क्लास लाइब्रेरी के प्रासंगिक भाग से पहले इसे वहां होना आवश्यक है।
ऐसा करने के लिए "बम सबूत" तरीका एक कमांड लाइन पैरामीटर के रूप में JVM को सेटिंग पास करना है; जैसे
java -Djava.net.preferIPv6Addresses=true ... com.example.MainClass <args>
तुम भी सेटिंग
System.setProperty("java.net.preferIPv6Addresses", "true");
का उपयोग कर इंजेक्षन करने के लिए अपने आवेदन कोड सकता है, लेकिन आप यह सुनिश्चित करें कि इंजेक्शन जल्द ही होता है की जरूरत है, और कहा कि तुच्छ नहीं होगा।
1 - "जल्द ही पर्याप्त" का अर्थ है जेवीएम नेटवर्किंग कोड की स्थिर प्रारंभिक घटना से पहले। जटिल अनुप्रयोग में हासिल करना मुश्किल हो सकता है। Network Properties प्रलेखन राज्यों पर ध्यान दें: "कुछ को केवल वीएम के स्टार्टअप पर चेक किया जाता है, और इसलिए जावा कमांड के-डी विकल्प का उपयोग करके सबसे अच्छा सेट किया गया है ..."। ध्यान दें कि यह नहीं बताता है कि उन गुणों को केवल उसी तरह से सेट किया जा सकता है।
JAVA_OPTS
वातावरण चर का उपयोग कर केवल कुछ अनुप्रयोगों के लिए काम करेंगे के सुझाव। यह निर्भर करता है कि एप्लिकेशन की लॉन्चर/रैपर स्क्रिप्ट क्या करती है। मानक java.exe
और javaw.exe
आदेशों निश्चित रूप से न करें$JAVA_OPTS
के लिए किसी भी ध्यान ही _JAVA_OPTIONS
पर लागू होता है ... जो एक है कि मैं पहले नहीं देखा गया है भुगतान करते हैं।
स्रोत
2013-11-28 09:50:13
में मैं कमांड प्रॉम्प्ट से डालने की कोशिश की है, लेकिन इसकी एक त्रुटि- -Djava.net.preferIPv6Stack 'एक आंतरिक या बाहरी कमांड, प्रचलित कार्यक्रम या बैच फ़ाइल के रूप में मान्यता प्राप्त नहीं है फेंकता है। – user27
'जावा' कमांड * ध्यान से * के लिए मैन्युअल प्रविष्टि पढ़ें। यदि आप इसे सही तरीके से उपयोग करते हैं तो '-D' विकल्प काम करेगा। –
मैन्युअल प्रविष्टि मेरे मामले में काम नहीं करती है या हो सकता है कि मैं इसे ठीक से करने में सक्षम न हो, उम्मीद है कि इंजेक्शन काम करता है। thnkx – user27