2011-01-02 12 views
5

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

मैंने ओरेकल की साइट (64-बिट लिनक्स के लिए जावा एसई 6u23) से सीधे बीआईएन फ़ाइल डाउनलोड की। यह/home/myUserName/डाउनलोड करने के लिए डाउनलोड करने के लिए डिफ़ॉल्ट है।

वहां से मैंने फ़ाइल को/opt/java में स्थानांतरित कर दिया, जो कि मैंने बनाई गई निर्देशिका थी, क्योंकि (एक लिनक्स नौसिखिया के रूप में) जिसने जावा को जाना चाहिए, उस निर्देशिका के रूप में समझ में आया।

मैं उसके बाद निम्न 2 आदेशों भाग गया, अनुदेश प्रति मैं चल डिब्बे के लिए ऑनलाइन पाया:

chmod +x jdk-6u23-linux-x64.bin 
sudo ./jdk-6u23-linux-x64.bin 

अब, मेरी/opt/जावा निर्देशिका में मैं दोनों बिन फ़ाइल और jdk1.6.0_23 देखना निर्देशिका जो निरीक्षण पर बरकरार है।

लेकिन, जब मैं एक नया टर्मिनल खोलने के लिए और जावा -संस्करण चलाने के लिए, मैं:

कार्यक्रम जावा का अर्थ निम्न पैकेज में पाया जा सकता:
- gcj-4.4-JRE -headless
- gcj-4.5 JRE-नेतृत्वहीन
- openjdk-6-JRE-नेतृत्वहीन
प्रयास करें: sudo apt-get

यहाँ क्या हो रहा है स्थापित?!?

(1) क्या मैं अपनी जावा निर्देशिका को आजमाने और चुनने/चुनने में गलत था?
(2) क्या मैंने गलत आदेश चलाए?
(3) जावा 1.6.0_23 भी मेरी मशीन पर स्थापित है?
(4) उन सभी gcj-xxx-headless targets क्या हैं?!?

किसी भी इनपुट के लिए धन्यवाद!

उत्तर

6

क्यों एक बिन, जब आप कर सकते हैं डाउनलोड करने के लिए बस:

sudo apt-get install sun-java6-jdk 

अगर कोई विशेष कारण तुम क्यों चाहते हैं कि साइट से विशिष्ट संस्करण, आप apt-get क्योंकि यह होगा का उपयोग करना चाहिए नहीं है PATH वैरिएबल, आदि जैसे सभी सामानों का ख्याल रखें

+0

एक 'सामान्य' उपयोगकर्ता के लिए आप सही हैं, लेकिन एक जावा डेवलपर के रूप में आपको कभी-कभी जावा 6 अपडेट 20, या 23 इत्यादि के साथ अपने सॉफ़्टवेयर का परीक्षण करने के लिए एक बहुत ही विशिष्ट संस्करण की आवश्यकता होती है। –

+2

@arjan: जावा डेवलपर के रूप में, मुझे पूंजी संस्करण की तुलना में कुछ और विशिष्ट नहीं चाहिए नंबर। हालांकि, मुझे यह कहना चाहिए कि मैं ज्यादातर विकसित वेबपैप्स, और हमेशा भाषा सुविधाओं के सबसे कम आम सेट का उपयोग कर रहा हूं। –

+0

आम तौर पर आपके द्वारा अपनी कंपनी के लिए विकसित वेब ऐप्स में, लक्ष्य सर्वर में एक बहुत ही विशिष्ट जावा संस्करण होता है। जेडीके संस्करणों के बीच मामूली परिवर्तनों से मूर्खतापूर्ण बग को बाहर करने के लिए हम आम तौर पर हमारे विकास स्टेशनों पर हमारे सर्वर पर समान संस्करण का उपयोग करते हैं। बेशक हम सर्वर के जावा संस्करण को अक्सर अद्यतन करते हैं, इसलिए इस सम्मेलन से हमें जावा के पुराने संस्करणों पर अटकने का कारण नहीं बनता है। –

1

आपने बस एक निर्देशिका में जेडीके बाइनरी डाल दी है। हालांकि सम्मेलन/ऑप्ट/जावा या/ऑप्ट/जेडीके द्वारा अक्सर प्रयोग किया जाता है, ये ऐसी निर्देशिका नहीं हैं जो सिस्टम द्वारा स्वचालित रूप से पहचाने जाते हैं।

हालांकि आप अपने पाथ पर्यावरण चर को/opt/java/bin dir, या symlink (ln -s)/opt/java/bin/java में शामिल करने के लिए अपने सिस्टम पर निर्देशिकाओं में से एक में शामिल कर सकते हैं, जिसमें शामिल हैं आपका पथ जैसे/usr/bin/

+0

मैं हर किसी के इनपुट की सराहना करता हूं - मैं कोशिश कर रहा हूं और एपीटी-गेट का उपयोग करने से दूर भागने जा रहा हूं क्योंकि मुझे यह जानना है कि चीजें कैसे काम करती हैं, भले ही मुझे बर्न के चारों तरफ 3 तरफ जाना पड़े और इसमें अधिक समय/प्रयास लगे। टैरबॉल को असंपीड़ित करने वाला एटर मुझे उस ** jdk1.6.0_23 ** निर्देशिका/ऑप्ट/जावा में छोड़ दिया गया है। अब मैं .bashrc खोलकर और PATH =/opt/java/jdk1.6.0_23/bin ** को अंतिम पंक्ति में जोड़कर पैथ चर को मैन्युअल रूप से सेट करने का प्रयास कर रहा हूं। * जावा-वर्जन * के साथ सही तरीके से आउटपुट करने के परिणामस्वरूप, लेकिन फिर मैं अपने सभी टर्मिनल टूल्स जैसे एलएस, सीडी, डीआईआर, स्पष्ट इत्यादि खो देता हूं; त्रुटि राज्य usr/bin पाथ पर नहीं है। क्या करना है? – Zac

+0

यह वास्तव में मूल यूनिक्स प्रश्न है (यह वास्तव में विंडोज पर यह कैसे काम करता है उससे अलग नहीं है), लेकिन आपको अपना पुराना पथ शामिल करना होगा: पथ = नया पथ + पुराना पथ। फर आगे के विवरण यदि आवश्यक हो तो आप एक नया प्रश्न खोलेंगे। –

7

क्या मैं अपनी जावा निर्देशिका को आजमाने और चुनने/चुनने में गलत था?

वास्तव में नहीं। कई जावा डेवलपर एकाधिक जेडीके इंस्टॉलेशन स्थापित करते हैं और हमेशा /opt/jdk1.6.0_23 या इसी तरह के पथ का उपयोग करते हैं।आपके द्वारा डाउनलोड की गई bin फ़ाइल इंस्टॉलर नहीं है, बल्कि केवल एक निकालने वाला है। यह /bin जैसे सिस्टम फ़ोल्डरों में java बाइनरी स्थापित नहीं करता है।

मैं आमतौर पर जेडीके डाउनलोड करता हूं और इसे अपने घर के फ़ोल्डर से निष्पादित करता हूं और बाद में इसे/ऑप्ट-इन करने और चोटी करने के लिए स्थानांतरित करता हूं।

क्या मैंने गलत आदेश चलाए?

वास्तव में नहीं। यदि आप एक अलग जेडीके स्थापित करना चाहते हैं, तो आपने इसे सही तरीके से किया है। यदि आप सिस्टम एकीकरण चाहते थे, तो आप वितरण-विशिष्ट संकुलों का उपयोग करने के लिए बेहतर होंगे, जैसे कि aptitude install sun-java6-jdk या समान रूप से स्थापित किया गया है।

आपके द्वारा डाउनलोड किए गए bin को अधिक लचीला है, क्योंकि मैं इसे उसी सिस्टम पर जावा के एकाधिक कथन स्थापित करने के लिए उपयोग कर सकता हूं। मुझे पता है कि यह ऐसा कुछ है जो आप अक्सर लिनक्स मशीनों पर नहीं करते हैं।

यदि आप कमांड लाइन पर java बाइनरी का उपयोग करना चाहते हैं, तो आपको मैन्युअल रूप से PATH और JAVA_HOME पर्यावरण चर सेट अप करना होगा। मुझे उबंटू पर लगता है कि/etc/पर्यावरण या/etc/प्रोफ़ाइल या ऐसा कुछ है।

जावा 1.6.0_23 भी मेरी मशीन पर स्थापित है?

वास्तव में नहीं। उपरोक्त उत्तरों देखें।

उन सभी gcj-xxx-headless targets क्या हैं?!

जीसीजे जावा के लिए जीएनयू कंपाइलर है। जाहिर है, इसमें जावा डेवलपमेंट किट और जावा रनटाइम एनवायरनमेंट शामिल है।

+1

उत्कृष्ट उत्तर, लेकिन एक छोटी टिप्पणी: बिन फ़ाइल वास्तव में निकालने से थोड़ा अधिक करती है क्योंकि यह वास्तव में कुछ सामान उत्पन्न करती है। –

1

सूर्य/ओरेकल से स्थापित जेडीके मूल जेडीके है। "हेडलेस" जेडीके ओपन सोर्स विकल्प है। जब आप जेडीके बिन फ़ाइल चलाते हैं, तो यह केवल संग्रह को निकाल देता है। जब आपने जावा-वर्जन कमांड दर्ज किया, तो उसे एफओएसएस जावा मिला, न कि जावा जिसे आपने निकाला था/ऑप्ट में। जैसा कि किसी और ने उल्लेख किया था, डेवलपर्स जेडीके के कई संस्करण रखेंगे। यदि आप ओरेकल के जावा का उपयोग करना चाहते हैं, तो आपको लिंक/usr/bin/java /opt/jdk1.6.0_23/bin/java पर लिंक चाहिए।

sudo ln -s /usr/bin/java /opt/jdk1.6.0_23/bin/java 

इस काम के लिए, मौजूदा जावा कमांड को पहले "हेडलेस" जेडीके से हटा दिया जाना चाहिए। (पिछला आदेश से पहले निम्न कार्य करें।)

sudo mv /usr/bin/java /usr/bin/java_old 

इसका मतलब यह है एक लिंक या/usr/bin में निष्पादन योग्य नामित जावा नहीं है। सुनिश्चित करने के लिए कौन सा आदेश का प्रयोग करें।आप इस में प्रवेश करने से बहाल कर सकते हैं

PATH=`echo $path`:/your/new/path 
export PATH

आप अपने मूल पथ चर खो दिया था, तो:

which java 
0

मौजूदा पथ चर के लिए एक नया पथ नाम जोड़ने के लिए, आप टर्मिनल में इस टाइप करने की आवश्यकता

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 
export PATH
0

प्रयास करें:

rm -rf /usr/bin/javac 
rm -rf /usr/bin/jar 

ln -s /home/jdk1.6.0_13/bin/javac /usr/bin/javac 
ln -s /home/jdk1.6.0_13/bin/jar /usr/bin/jar 

इस तरह, आपके linux पा सकते हैं /usr/bin

+0

[लिंक] (http://fengbin2005.iteye.com/blog/1222849) http://fengbin2005.iteye.com/blog/1222849 – kkmike999

1

में जावा & & javac कृपया ओरेकल जावा स्थापित करने के लिए नीचे दिए गए चरणों का पालन करें:

डाउनलोडनवीनतम जावा SE SDK संस्करण।

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Untar आर्काइव:

tar -xzvf jdk-8-linux-x64.tar.gz 
mv jdk1.8.0 /opt 
cd /opt/jdk1.8.0 

यह कदम एक विकल्प के रूप जावा के डाउनलोड किए गए संस्करण पंजीकृत करता है, और यह स्विच डिफ़ॉल्ट के रूप में प्रयोग की जाने वाली:

update-alternatives --install /usr/bin/java java /opt/jdk1.8.0/bin/java 1 
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0/bin/javac 1 
update-alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /opt/jdk1.8.0/jre/lib/amd64/libnpjp2.so 1 
update-alternatives --set java /opt/jdk1.8.0/bin/java 
update-alternatives --set javac /opt/jdk1.8.0/bin/javac 
update-alternatives --set mozilla-javaplugin.so /opt/jdk1.8.0/jre/lib/amd64/libnpjp2.so 

टेस्ट

जावा के संस्करण देखने के लिए आप अब चल रहे हैं

java -version 

आउटपुट

java version "1.8.0" 
Java(TM) SE Runtime Environment (build 1.8.0-b132) 
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode) 

http://www.java.com/ को ब्राउज़र प्लगइन ब्राउज़ जाँच करें और क्लिक करें "है कि मैं जावा है?"

रेफरी: https://askubuntu.com/questions/437776/ubuntu-13-04-unable-to-install-jdk7