पर जेडीके/जेआरई इंस्टॉल किए गए हैं क्या ऐसा करने का कोई मानक तरीका है? मुझे एहसास है कि यह कुछ हद तक मंच निर्भर हो सकता है। हमारे उत्पाद को अभी केवल विंडोज पर समर्थित है - इसलिए मुझे लगता है कि मुझे अभी इसमें दिलचस्पी है। केवल एक चीज जो मैं सोच सकता हूं, या तो रजिस्ट्री को स्कैन करना या फ़ाइल सिस्टम को क्रॉल करना है। फ़ाइल सिस्टम स्कैनिंग ऐसा लगता है कि इसमें वास्तव में लंबा समय लग सकता है - और रजिस्ट्री अविश्वसनीय हो सकती है। क्या मुझे दोनों करना चाहिए? कोई अन्य सुझाव? मैंने भाग्य के साथ ऐसा करने के लिए एपीआई की तलाश करने की कोशिश की।प्रोग्रामेटिक रूप से निर्धारित करें कि मेरे बॉक्स
उत्तर
मैं पहली बार JAVA_HOME पर्यावरण चर (और संभवतः जेडीके_एचओएमई हालांकि बहुत कम आम है) की तलाश करके शुरू करता हूं और फिर यह निर्धारित करता हूं कि यह कौन सा संस्करण है और क्या यह एक जेडीके या जेआरई है।
इसके बाद सामान्य जगहों के लिए सामान्य जांच करें। सिस्टम की प्रोग्राम फाइल निर्देशिका का पता लगाएं (केवल यह नहीं मानें कि यह सी: \ प्रोग्राम फ़ाइलें है, भले ही यह 99.5% समय हो) और उसके तहत सामान्य इंस्टॉल स्थानों की तलाश करें (जैसे जावा)।
मैं एक संपूर्ण खोज नहीं करता।
यह पूछने लायक है: क्या आपको वास्तव में जेडीके को इस तरह खोजने की ज़रूरत है? क्या आप सिर्फ उस उपयोगकर्ता से नहीं पूछ सकते हैं जो वह जेडीके का उपयोग करना चाहता है, संभवतः आपको पहले से मिले किसी भी आसान सुझाव का सुझाव दे रहा है?
मैं शायद जावा स्थापित रजिस्ट्री कुंजी की तलाश करने और डिफ़ॉल्ट स्थापना के लिए स्थानों को क्रॉल करने के संयोजन के लिए जाना चाहूंगा (जो बहुत अधिक समय नहीं लेना चाहिए)।
एक वैकल्पिक दृष्टिकोण एक छोटे जावा एप्लिकेशन को बंडल करना होगा जो चल रहे जेवीएम जैसे विभिन्न विवरण प्रिंट करता है।
System.out.println(System.getProperty("java.version"));
अन्य गुण here
यह केवल जेआरई के कोड को निष्पादित करने के संस्करण को बताता है - जेडीके/जेआरई स्थापित नहीं हैं – Jonik
क्षमा करें, मैंने सवाल को गलत समझा। आप रजिस्ट्री का उपयोग कर सकते हैं और यदि कुछ भी नहीं मिला, तो उपयोगकर्ता से पूछें। कुंजी HKEY_LOCAL_MASHINE/सॉफ़्टवेयर/जावासोफ्ट/जावा डेवलपमेंट किट है –
- 1. निर्धारित करें कि सिस्टम विस्तृत बैकअप प्रोग्रामेटिक रूप से
- 2. निर्धारित करें कि टेक्स्ट बॉक्स
- 3. प्रोग्रामेटिक रूप से निर्धारित करता है कि आईआईएस एक्सप्रेस
- 4. जीडब्ल्यूटी सेलटेबल प्रोग्रामेटिक रूप से चेकबॉक्स बॉक्स
- 5. प्रोग्रामेटिक रूप से निर्धारित करता है कि कोको ऐप
- 6. प्रोग्रामेटिक रूप से निर्धारित निरंतर DEFAULT मान
- 7. विंडोज में प्रोग्राम का उपयोग प्रोग्रामेटिक रूप से निर्धारित करें?
- 8. प्रोग्रामेटिक रूप से अनदेखा करें
- 9. प्रोग्रामेटिक रूप से निर्धारित करें कि क्या एक एक्सेल फ़ाइल (.xls) में मैक्रोज़
- 10. प्रोग्रामेटिक रूप से एंड्रॉइड
- 11. प्रोग्रामेटिक रूप से थीम रंग प्राप्त करें
- 12. जेटी प्रोग्रामेटिक रूप से
- 13. निर्धारित करें कि ASP.NET एप्लिकेशन स्थानीय रूप से
- 14. प्रोग्रामेटिक रूप से निरीक्षण करें। क्लास फाइलें
- 15. निर्धारित करें कि अधिसूचना
- 16. प्रोग्रामेटिक रूप से VB.NET
- 17. प्रोग्रामेटिक रूप से वीडियो फ़ाइल प्रारूप निर्धारित करते हैं?
- 18. यह निर्धारित करना कि एक एंड्रॉइड डिवाइस प्रोग्रामेटिक रूप से रूट है या नहीं?
- 19. निर्धारित करें कि PHP
- 20. निर्धारित करें कि
- 21. GridView प्रोग्रामेटिक रूप से
- 22. प्रोग्रामेटिक रूप से
- 23. क्यूटी स्टाइलशीट विकल्पों को प्रोग्रामेटिक रूप से निर्धारित करना?
- 24. सिल्वरलाइट प्रोग्रामेटिक रूप से
- 25. प्रोग्रामेटिक रूप से सिम्बियन
- 26. प्रोग्रामेटिक रूप से कच्चे_इनपुट
- 27. प्रोग्रामेटिक रूप से
- 28. प्रोग्रामेटिक रूप से लाइफरे
- 29. निर्धारित करें कि कोई उपयोगकर्ता
- 30. Android इंस्टॉल करें apk प्रोग्रामेटिक रूप से
कि्लिटस आप की रक्षा कर सकते हैं तुम क्यों एक संपूर्ण खोज नहीं करना होगा? सहजता से मैं यहां सहमत हूं लेकिन मैं मजबूत कारणों की तलाश में हूं। –
एक संपूर्ण खोज को java.exe या javac.exe (मानते हुए विंडोज़) फ़ाइलों के लिए सभी हार्ड ड्राइव खोजने की आवश्यकता होगी जो बहुत समय ले सकता है। –
सुझाव है कि आप ऊपर सूचीबद्ध दो चर के अलावा अपनी खोज को सी: \ प्रोग्राम फ़ाइलें \ और% PATH% पर्यावरण परिवर्तक तक सीमित करें। –