मैंने apt-get install का उपयोग करके JDK स्थापित किया है, लेकिन मुझे नहीं पता कि मेरा jdk फ़ोल्डर कहाँ है। मुझे उसके लिए रास्ता तय करना होगा। क्या किसी एक का लोकेशन पर कोई सुराग है?
/usr/local/java/मूल डाउनलोड किए गए ओरेकल वितरण के लिए प्रयास करें ।
मैंने apt-get install का उपयोग करके JDK स्थापित किया है, लेकिन मुझे नहीं पता कि मेरा jdk फ़ोल्डर कहाँ है। मुझे उसके लिए रास्ता तय करना होगा। क्या किसी एक का लोकेशन पर कोई सुराग है?
/usr/local/java/मूल डाउनलोड किए गए ओरेकल वितरण के लिए प्रयास करें ।
जवाबों:
यह आपके पैकेज सिस्टम से थोड़ा सा निर्भर करता है ... यदि javaकमांड काम करता है, तो आप readlink -f $(which java)जावा कमांड के स्थान का पता लगाने के लिए टाइप कर सकते हैं । OpenSUSE सिस्टम पर मैं अभी लौट रहा हूं /usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java(लेकिन यह एक सिस्टम नहीं है जो उपयोग करता है apt-get)।
उबंटू पर, ऐसा लगता है कि यह /usr/lib/jvm/java-6-openjdk/ OpenJDK के लिए है, और /usr/lib/jvm/Suns JDK (और अन्य कार्यान्वयन के साथ-साथ, मुझे लगता है) के लिए कुछ अन्य उपनिर्देशिका में है ।
किसी भी दिए गए पैकेज के लिए आप यह निर्धारित कर सकते हैं कि यह किस फाइल को स्थापित करता है और कहां से इसे स्थापित करता है। उदाहरण के लिए पैकेज 'openjdk-6-jdk' के लिए:dpkg -L openjdk-6-jdk
/usr/lib/jvm/java-7-openjdk-amd64।
readlink -f $(which javac) - ध्यान दें कि एक ही मशीन पर जेडडीके और जेआरई का एक अजीब मिश्रण है। JDK में एक कंपाइलर (javac) और एक JRE शामिल नहीं है। हालांकि अगर रास्ता सही नहीं है, जो विफल हो जाएगा और आप यह कोशिश कर सकते हैं: find /usr/java -wholename '*ava/jdk*' -pruneजैसा कि मैंने नीचे टिप्पणी में ध्यान दिया है।
update-java-alternatives -l
आपको बताएगा कि आपके सिस्टम के लिए कौन सा जावा कार्यान्वयन डिफ़ॉल्ट है और फाइल सिस्टम में यह कहाँ स्थापित है। अधिक विकल्पों के लिए मैनुअल की जाँच करें।
apt-getऔर डिस्ट्रो होना है Debian 2.6.26। AFAIK, यह सभी डेबियन डेरिवेटिव के लिए समान होना चाहिए।
$ which java
आपको ऐसा कुछ देना चाहिए
/usr/bin/java
readlink -f $(which javac)प्रिंट करता हूं /usr/lib/jvm/java-8-oracle/bin/javac। वह बिन फ़ोल्डर JDK नहीं है। सामान्य एसिड-बेस टेस्ट यह देखने के लिए कि क्या इसका जेडीके यह देखने के लिए है कि क्या इसमें करंट का $JAVA_HOMEरास्ता है lib/tools.jar। के कलाकारों में /usr/lib/jvm/java-8-oracle/binयह सच नहीं है, इसलिए यह जेडीके नहीं है।
find /usr/java -wholename '*ava/jdk*' -prune लेकिन व्यवहार निर्भर करता है कि आप ओपनजेडके या ओरेकल जावा के बारे में बात कर रहे हैं या यह पहली जगह में कैसे स्थापित किया गया था।
यह प्रश्न स्थानांतरित हो जाएगा लेकिन आप निम्न कार्य कर सकते हैं
which javac
या
cd /
find . -name 'javac'
इसे खोजने के लिए स्थित का उपयोग करें। यह कुछ हद तक होना चाहिए /usr:
find /usr -name java
कमांड चलाते समय, यदि बहुत सारे "अनुमति अस्वीकृत" संदेश वास्तविक पाए गए परिणामों को बाधित करते हैं, तो बस / डीर / नल को पुनर्निर्देशित करें
find /usr -name java 2> /dev/null
जावा फ़ोल्डर पथ को खोजने का एक और सबसे अच्छा तरीका alternativesफेडोरा लिनक्स में कमांड का उपयोग करना है (मैं इसके Ubuntu के लिए जानता हूं लेकिन मैंने इस पोस्ट को सिर्फ इसकी हेडलाइन से Google पर हिट किया है)। बस मेरे जैसे लोगों को लाइक करना चाहते हैं ताकि फेडोरा फ्लेवर के जवाब खोज सकें।
जावा के संबंध में सभी जानकारी प्रदर्शित करने के लिए
alternatives --display java
तीन चरण प्रक्रिया: पहला: टर्मिनल खोलें-> $ whereis java
यह इस तरह आउटपुट देगा:
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
दूसरा:
ls -l /usr/bin/java
यह इस तरह आउटपुट देगा:
lrwxrwxrwx 1 root root 22 Feb 9 10:59 /usr/bin/java -> /etc/alternatives/java
तीसरा:
ls -l /etc/alternatives/java
आउटपुट JDK पथ है:
lrwxrwxrwx 1 root root 46 Feb 9 10:59 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
सरल, यह कोशिश:
यह / usr / स्थानीय / जावा / jdk [संस्करण] है
यह सवाल अभी भी प्रासंगिक लगता है, और जवाब एक लक्ष्य लक्ष्य लगता है।
मेरे डेबियन सिस्टम (बस्टर) पर:
> update-java-alternatives -l
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
हालाँकि, यदि आप वास्तव में वहाँ जाते हैं, तो आप देखेंगे कि भविष्य के रखरखाव को आसान बनाने के लिए पैकेज सिस्टम द्वारा कई निर्देशिकाएँ और प्रतीकात्मक लिंक वहाँ रखे गए हैं।
वास्तविक निर्देशिका java-11-openjdk-amd64एक और सिम्क्लिन के साथ है default-java। एक openjdk-11निर्देशिका भी है , लेकिन यह केवल एक source.zip फ़ाइल सम्मिलित करता है।
इसे देखते हुए, डेबियन ओनली के लिए, मुझे लगता है कि उपयोग करने के लिए सबसे अच्छा मूल्य है /usr/lib/jvm/default-java, क्योंकि यह हमेशा मान्य होना चाहिए, भले ही आप जावा के पूरी तरह से अलग संस्करण को स्थापित करने का निर्णय लें, या विक्रेताओं को भी स्विच करें।
रास्ता जानने की इच्छा का सामान्य कारण यह है कि कुछ अनुप्रयोग यह चाहते हैं, और आप शायद उस ऐप को नहीं तोड़ना चाहते क्योंकि आपने एक अपग्रेड किया था जिसने संस्करण संख्याओं को बदल दिया था।
लिनक्स Fedora30 पर पूर्ण जावा JDK के कई संस्करण उपलब्ध हैं, विशेष रूप से पैकेज के नाम:
java-1.8.0-openjdk-devel.x86_64
java-11-openjdk-devel.x86_64
एक बार स्थापित होने के बाद, वे इसमें पाए जाते हैं: /usr/lib/jvm
पूर्ण विकास के स्थान / निर्देशिका का चयन करने के लिए JDK (जो सरल रनटाइम केवल JRE से अलग है) प्रविष्टियों के लिए देखें:
ls -ld java*openjdk*
यहां दो अच्छे विकल्प हैं, जो विशिष्ट संस्करणों के लिंक हैं, जहां आपको संस्करण का चयन करना होगा:
/usr/lib/jvm/java-1.8.0-openjdk
/usr/lib/jvm/java-11-openjdk
यह सबसे अच्छा तरीका है जिसने मेरे लिए इस कमांड को निष्पादित करने का काम किया है: -
$(dirname $(readlink $(which javac)))/java_home