2013-01-12 14 views
73

मैक पर जावा एसडीके स्थापित होने पर आप कैसे जांचते हैं?मैक पर जावा जेडीके स्थापित है या नहीं, मैं कैसे जांचूं?

क्या इसके लिए कोई कमांड लाइन है?

+0

javac ......... – MadProgrammer

+0

* "है कि सॉफ्टवेयर नहीं चल रहे हैं" * त्रुटि उत्पादन क्या है? –

उत्तर

114

javac -version कुछ

+0

मुझे "javac 1.6.0_37" मिला है क्या यह jdk 6 या 7 के बराबर है? –

+3

'1.6' तो jdk 6. –

+3

हालांकि, यदि जावा स्थापित नहीं है, तो एक संवाद बॉक्स आपको बताएगा कि जावा को स्थापित करने की आवश्यकता है, इसलिए यह स्क्रिप्ट के लिए एक अच्छा विकल्प नहीं है। –

16

एक टर्मिनल में प्रकार:

which javac 

यह आपको एक टर्मिनल में तरह

/usr/bin/javac 
+0

समय के लिए +1;) –

+8

-1 उत्तर के लिए: पथ में जावा कमांड की उपस्थिति यह प्रमाणित नहीं करती है कि जेडीके स्थापित है (लेकिन जेआरई) –

+0

तब, सागर, javac ... – asgoth

1

करेंगे दिखाना चाहिए बस टाइप javac। यदि यह स्थापित है तो आपको उपयोग की जानकारी मिलती है, अन्यथा यह पूछेगा कि क्या आप जावा इंस्टॉल करना चाहते हैं।

32

आप जो भी खोज रहे हैं उसके लिए OS X पर java_home सहायक बाइनरी का लाभ उठा सकते हैं।

भी इंस्टॉल किया गया JDK के सभी संस्करणों को सूचीबद्ध करने के:

$ /usr/libexec/java_home -V 
Matching Java Virtual Machines (2): 
    1.8.0_51, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home 
    1.7.0_79, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home 

एक विशिष्ट JDK संस्करण की JAVA_HOME पथ अनुरोध करने के लिए, आप कर सकते हैं:

$ /usr/libexec/java_home -v 1.7 
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home 

$ /usr/libexec/java_home -v 1.8 
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home 

आप में ऊपर बताए गए आदेशों का लाभ ले सकता है इस तरह अपनी स्क्रिप्ट:

REQUESTED_JAVA_VERSION="1.7" 
if POSSIBLE_JAVA_HOME="$(/usr/libexec/java_home -v $REQUESTED_JAVA_VERSION 2>/dev/null)"; then 
    # Do this if you want to export JAVA_HOME 
    export JAVA_HOME="$POSSIBLE_JAVA_HOME" 
    echo "Java SDK is installed" 
else 
    echo "Did not find any installed JDK for version $REQUESTED_JAVA_VERSION" 
fi 

आप और कई diff के लिए जाँच करता है, तो-और कुछ ऐसा करने में सक्षम हो सकता है जावा के इन्टेंट संस्करण भी।

यदि आप एक्सएमएल आउटपुट पसंद करते हैं, तो जावा_होम में एक्सएमएल में आउटपुट के लिए एक्स-एक्स विकल्प भी है।

$ /usr/libexec/java_home --help 
Usage: java_home [options...] 
    Returns the path to a Java home directory from the current user's settings. 

Options: 
    [-v/--version <version>]  Filter Java versions in the "JVMVersion" form 1.X(+ or *). 
    [-a/--arch  <architecture>] Filter JVMs matching architecture (i386, x86_64, etc). 
    [-d/--datamodel <datamodel>]  Filter JVMs capable of -d32 or -d64 
    [-t/--task  <task>]   Use the JVM list for a specific task (Applets, WebStart, BundledApp, JNI, or CommandLine) 
    [-F/--failfast]     Fail when filters return no JVMs, do not continue with default. 
    [ --exec  <command> ...] Execute the $JAVA_HOME/bin/<command> with the remaining arguments. 
    [-R/--request]     Request installation of a Java Runtime if not installed. 
    [-X/--xml]      Print full JVM list and additional data as XML plist. 
    [-V/--verbose]     Print full JVM list with architectures. 
    [-h/--help]      This usage information. 
+0

यह स्वीकार्य उत्तर होना चाहिए –

0

/usr/bin/java_home उपकरण देता है 1 अगर जावा स्थापित नहीं।

तो तुम देख सकते हैं कि जावा अगले माध्यम से स्थापित किया गया है:

/usr/libexec/java_home &> /dev/null && echo "installed" || echo "not installed" 
संबंधित मुद्दे