2009-08-27 12 views
15

मैंने जवाब को गुगल करने की कोशिश की, लेकिन मुझे पता चला कि जावा से जावा का पता लगाने या जावा शुरू करने के बहुत ही सामान्य तरीके से यह पता लगाने के लिए युक्तियां थीं कि यह चल रहा है या नहीं, यह देखता है कि यह मेरे आवेदन में संभवतः लंबी देरी पेश करता है।मैं विंडोज पर स्थापित सूर्य/ओरेकल जेआरई का पता कैसे लगा सकता हूं?

  • केवल सूर्य/Oracle JREs या JDKs
  • केवल 1.6:

    मुझे आशा है कि वहाँ एक तेज़ तरीका है, यदि निम्न प्रतिबंध लागू होते हैं (~ दो सेकंड जब मेरे मशीन पर बहुत पहले समय के लिए शुरू कर दिया) और उच्च

  • केवल विंडोज प्लेटफॉर्म
  • किसी ब्राउज़र से नहीं , लेकिन एक सादे पुराने Win32 निष्पादन से

यह पहचान सार्वजनिक अनुप्रयोग के लिए नहीं है, बल्कि केवल विंडोज प्लेटफ़ॉर्म पर आंतरिक उपयोग के लिए है।

क्या कोई रजिस्ट्री पथ है जिसे मैं पढ़ सकता हूं या कुछ कॉन्फ़िगरेशन फ़ाइल मैं पार्स कर सकता हूं?

+0

आप एक देरी देखें कि JRE है क्या * ? और यदि यह स्थापित है तो क्या आप प्रोग्राम चलाने और स्टार्टअप देरी को स्वीकार करने के लिए नहीं जा रहे हैं? – finnw

+1

तुरंत नहीं। एप्लिकेशन में कई सुविधाएं हैं और स्टार्टअप पर सभी पूर्वापेक्षाएँ जांच की जाती हैं। कभी-कभी उपयोगकर्ता जावा की आवश्यकता वाले कोड पथ तक नहीं पहुंचता है, लेकिन अभी भी देरी से पीड़ित होना पड़ता है। उपयोगकर्ताओं को पहले से ही लंबे स्टार्टअप पर फहराया गया है ... –

उत्तर

19
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment 
+7

या 'HKEY_LOCAL_MACHINE \ सॉफ़्टवेयर \ Wow6432Node \ JavaSoft \ Java रनटाइम पर्यावरण' –

+0

@ParchedSquid, ओपी ने कहा "* एक सादे पुराने Win32 निष्पादन योग्य * से", जो ' Wow6432Node'। – finnw

+1

मेरे पीसी पर HKEY_LOCAL_MACHINE \ सॉफ़्टवेयर \ जावा सॉफ़्ट \ जावा रनटाइम पर्यावरण पुराने पुराने अनइंस्टॉल किए गए जेआरई को इंगित करता है। मेरे लिए एकमात्र सही पंजीकरण HKEY_LOCAL_MACHINE \ सॉफ़्टवेयर \ Wow6432Node \ JavaSoft \ Java रनटाइम पर्यावरण – jornhd

4

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

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit 
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment 

उपयोगकर्ता स्वयं अपने वातावरण को कॉन्फ़िगर किया है, तो आप JAVA_HOME की जांच कर सकता/चलना PATH चर और फ़ाइल संस्करण की जाँच करें। डेमो WSH स्क्रिप्ट:

'file: whereJava.vbs 
'usage: cscript /Nologo whereJava.vbs 

'find Java 6 from registry 
Set objShell = CreateObject("WScript.Shell") 
Wscript.Echo objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\" &_ 
        "JavaSoft\Java Runtime Environment\1.6\JavaHome") 

'check file version of java.exe 
javaHome = objShell.Environment.item("JAVA_HOME") 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Wscript.Echo objFSO.GetFileVersion(javaHome & "\bin\java.exe") 

GetFileVersionInfo और कंपनी देखें। प्रमुख संस्करण संख्याएं जावा संस्करण (5, 6) से मेल खाते हैं। JVM का आविष्कार किए बिना आप एक सीमित राशि कर सकते हैं।

1

इसके बजाय आप कमांड प्रॉम्प्ट में "java -version" कमांड को चलाने का प्रयास कर सकते हैं।

यदि वास्तव में जेआरई ठीक से स्थापित नहीं है लेकिन किसी अन्य मशीन से कॉपी किया गया है तो यह वास्तव में अच्छा काम नहीं कर सकता है। एक निश्चित शॉट वर्कअराउंड जेआरई स्थापना निर्देशिका पर नेविगेट करना है "सी: \ प्रोग्राम फ़ाइलें \ जावा \", कमांड प्रॉम्प्ट से बिन फ़ोल्डर पर नेविगेट करें और फिर "जावा-वर्जन" चलाएं। आउटपुट एक इंस्टॉलेशन संस्करण होगा, और सभी प्रासंगिक जानकारी जो आप खोज रहे हैं।

+0

यही वह है जिसे मैं टालना चाहता हूं, मेरा प्रश्न देखें। –

1

विंडोज मशीन पर इंस्टॉल किए गए जेआरई और जेडीके की कोई भी संख्या हो सकती है, लेकिन केवल एक में HKEY_LOCAL_MACHINE \ सॉफ़्टवेयर \ जावा सॉफ़्ट \ जावा रनटाइम पर्यावरण सेट होगा।

आप "JAVA_HOME" और "पथ" पर्यावरण चर पर भी विचार कर सकते हैं, क्योंकि वे कमांड लाइन जावा इनवॉशंस को प्रभावित करेंगे।

5

विंडोज> प्रारंभ> cmd>

C:> for %i in (java.exe) do @echo. %~$PATH:i 

आप एक JRE स्थापित, पथ प्रदर्शित किया जाता है, उदाहरण के लिए हों: नहीं * स्थापित C:\Windows\System32\java.exe

+0

यह निश्चित रूप से एक बेवकूफ समाधान है। – Machinarius

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

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