2012-01-31 8 views
13

मैंने अभी नीचे लिपि चलाई है और यह जेडीके को सही स्थान पर लाता है और अनपैक करता है। समस्या यह है कि प्रत्येक java कमांड (/urs/bin पर प्रतिलिपि के रूप में) त्रुटियों को देता है। मैं cd (अब मैं जेडीके/बिन में हूं) के माध्यम से जेडीके इंस्टॉल निर्देशिका में जाकर दोबारा जांच करता हूं और टाइप करता हूं: ./java -version और प्राप्त करें: ./java: No such file or directory, लेकिन java वहां है! जेडीके पर ls -l दिखाता है कि सभी java ग्राहक बिन के अंदर हैं। के उत्पादन के साथ file /usr/lib/jvm/jdk1.7.0_02/bin:जावा सूची में स्थापित है, लेकिन निष्पादन "./java: ऐसी कोई फ़ाइल या निर्देशिका नहीं है"

#!/bin/bash 
#Author: Yucca Nel http://thejarbar.org 
#Will restart system 
#Modify these variables as needed... 
tempWork=/tmp/work 
locBin=/usr/local/bin 
javaUsrLib=/usr/lib/jvm 

sudo mkdir -p $javaUsrLib 
mkdir -p $tempWork 
cd $tempWork 

#Update this line to reflect newer versions of JDK... 
wget http://download.oracle.com/otn-pub/java/jdk/7u2-b13/jdk-7u2-linux-i586.tar.gz 

#Extract the download 
tar -zxvf $tempWork/* 

#Move it to where it can be found... 

sudo mv -f $tempWork/jdk1.7* $javaUsrLib/ 

sudo ln -f -s $javaUsrLib/jdk1.7*/bin/* /usr/bin/ 
sudo rm -rf $tempWork 
#Update this line to reflect newer versions of JDK... 
export JAVA_HOME="$javaUsrLib/jdk1.7.0_02" 

if ! grep "JAVA_HOME=$javaUsrLib/jdk1.7.0_02" /etc/environment 
then 
    echo "JAVA_HOME=$javaUsrLib/jdk1.7.0_02"| sudo tee -a /etc/environment 
fi 

sudo /sbin/reboot 

exit 0 

ls -l /usr/lib/jvm/jdk1.7.0_02/bin/java चल रहा है मुझे देता है: [email protected]:~$ -rwxr-xr-x 1 yucca yucca 5654 2011-11-17 22:38 /usr/lib/jvm/jdk1.7.0_02/bin/java

भी भाग गया

/usr/lib/jvm/jdk1.7.0_02/bin: directory 
+3

जावा स्थापित करने के लिए रीबूटिंग? यह "यूनिक्स वे" नहीं है। –

+0

@MarcB यदि उपयोगकर्ता टर्मिनल को बंद करता है, तो पर्यावरण (जावा के साथ) खो गया है? मेरी लिपि कुछ दिन पहले काम करती थी और जब मैं बैश-एक्स के साथ दौड़ता हूं तो मैं देख सकता हूं कि जेडीके पूरी तरह से अनपॅक किया जा रहा है ... – thejartender

+0

नहीं, '/ etc/environment' सामान सुनिश्चित करता है कि JAVA_HOME var सभी नए गोले में दिखाई देगा। रिबूट के बारे में सोचने का एकमात्र कारण यह सुनिश्चित करना है कि वर्तमान में सभी 'पुराने' चल रहे जेवीएमएस समाप्त हो जाएं। –

उत्तर

29

आप एक 32bit क्रम पर्यावरण के बिना एक 64 बिट सिस्टम पर चला रहे हैं।

मान लिया जाये कि ubuntu/डेबियन मुद्दा:

apt-get install libc6-i386 

या आप 64 बिट इस वीएम में पैकेज का संस्करण (जो शायद सबसे अच्छा समाधान है) स्थापित करना चाहिए।

त्रुटि संदेश रन-टाइम लिंकर/लोडर से आ रहा है। कौन है आप एक 32bit आवेदन के लिए क्या उम्मीद

[Requesting program interpreter: /lib/ld-linux.so.2] 

, और आप शायद 32 बिट वातावरण स्थापित नहीं है - कि program interpreter के ls -l के साथ जांच: यदि आप एक readelf -l java कर आप की तरह एक लाइन मिलेगा ।

और एक 64 बिट प्रोग्राम (आपके सिस्टम भिन्न हो सकते हैं) ऐसा दिखाई देगा उदाहरण:

[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2] 

अगर ऐसा नहीं है, और आप libc स्थापित 32 बिट है, तो आप एक ldd java, कोशिश कर सकते हैं जो की तरह एक सूची दे देंगे:

linux-gate.so.1 => (0xf76ef000) 
libpthread.so.0 => /lib32/libpthread.so.0 (0xf76b3000) 
libjli.so => /home/bubba/java/jdk1.7.0_02/bin/./../jre/lib/i386/jli/libjli.so (0xf769f000) 
libdl.so.2 => /lib32/libdl.so.2 (0xf7699000) 
libc.so.6 => /lib32/libc.so.6 (0xf751f000) 
/lib/ld-linux.so.2 (0xf76f0000) 

अगर वहाँ लाइनों कह रहे हैं not found तो आप उस प्रदान pagkages जोड़नी होगी, जैसा कि आप इस ldd से देख सकते हैं सभी निर्भरता मुख्य लाइब्रेरीज कि व्यावहारिक पर मौजूद होना चाहिए रहे हैं सभी लिनक्स सिस्टम कैली।/Usr/bin/जावा:

+0

धन्यवाद। यही हुआ ... मैं ट्यूटोरियल्स का एक सेट करने की प्रक्रिया में हूं जो दिखा रहा है कि मैंने अपना विकास वातावरण कैसे स्थापित किया। मैंने अब देखा है कि वर्चुअलबॉक्स में उबंटू का उपयोग करने वाला संस्करण एएमडी 64 बिट था और मैं इंटेल चिप पर हूं। इससे पहले लिपि ने काम किया था, लेकिन मुझे लगता है कि मैंने कल किया गया नया अतिथि गलत उबंटू छवि से है। – thejartender

+0

मुझे ओपी के समान समस्या थी और इसे 'apt-get install libc6-i386' चलाकर हल किया गया था। मुझे आश्चर्य है कि 64 बिट उबंटू पर 32-बिट जेडीके 7 के साथ अतिरिक्त समस्याएं हो सकती हैं? –

+1

@ पेटेश को एक ही समस्या है, लेकिन एक हाथ सीपीयू के साथ। मुझे आश्चर्य है कि हाथ के लिए libs हैं .. – Eugene

0

मैं

बैश हो रही थी ऐसी कोई फ़ाइल या निर्देशिका

मुद्दा मैं एक x86_64 डेबियन पर जावा के i586 संस्करण स्थापित किया गया था।

फिक्स: मैंने इसे हटा दिया और जावा के x64 संस्करण को स्थापित किया। सब कुछ ठीक काम कर रहा है।

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