2009-07-27 12 views
10

पर जेडीके/जेआरई इंस्टॉल किए गए हैं क्या ऐसा करने का कोई मानक तरीका है? मुझे एहसास है कि यह कुछ हद तक मंच निर्भर हो सकता है। हमारे उत्पाद को अभी केवल विंडोज पर समर्थित है - इसलिए मुझे लगता है कि मुझे अभी इसमें दिलचस्पी है। केवल एक चीज जो मैं सोच सकता हूं, या तो रजिस्ट्री को स्कैन करना या फ़ाइल सिस्टम को क्रॉल करना है। फ़ाइल सिस्टम स्कैनिंग ऐसा लगता है कि इसमें वास्तव में लंबा समय लग सकता है - और रजिस्ट्री अविश्वसनीय हो सकती है। क्या मुझे दोनों करना चाहिए? कोई अन्य सुझाव? मैंने भाग्य के साथ ऐसा करने के लिए एपीआई की तलाश करने की कोशिश की।प्रोग्रामेटिक रूप से निर्धारित करें कि मेरे बॉक्स

उत्तर

3

मैं पहली बार JAVA_HOME पर्यावरण चर (और संभवतः जेडीके_एचओएमई हालांकि बहुत कम आम है) की तलाश करके शुरू करता हूं और फिर यह निर्धारित करता हूं कि यह कौन सा संस्करण है और क्या यह एक जेडीके या जेआरई है।

इसके बाद सामान्य जगहों के लिए सामान्य जांच करें। सिस्टम की प्रोग्राम फाइल निर्देशिका का पता लगाएं (केवल यह नहीं मानें कि यह सी: \ प्रोग्राम फ़ाइलें है, भले ही यह 99.5% समय हो) और उसके तहत सामान्य इंस्टॉल स्थानों की तलाश करें (जैसे जावा)।

मैं एक संपूर्ण खोज नहीं करता।

यह पूछने लायक है: क्या आपको वास्तव में जेडीके को इस तरह खोजने की ज़रूरत है? क्या आप सिर्फ उस उपयोगकर्ता से नहीं पूछ सकते हैं जो वह जेडीके का उपयोग करना चाहता है, संभवतः आपको पहले से मिले किसी भी आसान सुझाव का सुझाव दे रहा है?

+0

कि्लिटस आप की रक्षा कर सकते हैं तुम क्यों एक संपूर्ण खोज नहीं करना होगा? सहजता से मैं यहां सहमत हूं लेकिन मैं मजबूत कारणों की तलाश में हूं। –

+0

एक संपूर्ण खोज को java.exe या javac.exe (मानते हुए विंडोज़) फ़ाइलों के लिए सभी हार्ड ड्राइव खोजने की आवश्यकता होगी जो बहुत समय ले सकता है। –

+0

सुझाव है कि आप ऊपर सूचीबद्ध दो चर के अलावा अपनी खोज को सी: \ प्रोग्राम फ़ाइलें \ और% PATH% पर्यावरण परिवर्तक तक सीमित करें। –

1

मैं शायद जावा स्थापित रजिस्ट्री कुंजी की तलाश करने और डिफ़ॉल्ट स्थापना के लिए स्थानों को क्रॉल करने के संयोजन के लिए जाना चाहूंगा (जो बहुत अधिक समय नहीं लेना चाहिए)।

एक वैकल्पिक दृष्टिकोण एक छोटे जावा एप्लिकेशन को बंडल करना होगा जो चल रहे जेवीएम जैसे विभिन्न विवरण प्रिंट करता है।

34
System.out.println(System.getProperty("java.version")); 

अन्य गुण here

+0

यह केवल जेआरई के कोड को निष्पादित करने के संस्करण को बताता है - जेडीके/जेआरई स्थापित नहीं हैं – Jonik

+0

क्षमा करें, मैंने सवाल को गलत समझा। आप रजिस्ट्री का उपयोग कर सकते हैं और यदि कुछ भी नहीं मिला, तो उपयोगकर्ता से पूछें। कुंजी HKEY_LOCAL_MASHINE/सॉफ़्टवेयर/जावासोफ्ट/जावा डेवलपमेंट किट है –

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