मैंने अभी नीचे लिपि चलाई है और यह जेडीके को सही स्थान पर लाता है और अनपैक करता है। समस्या यह है कि प्रत्येक 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
जावा स्थापित करने के लिए रीबूटिंग? यह "यूनिक्स वे" नहीं है। –
@MarcB यदि उपयोगकर्ता टर्मिनल को बंद करता है, तो पर्यावरण (जावा के साथ) खो गया है? मेरी लिपि कुछ दिन पहले काम करती थी और जब मैं बैश-एक्स के साथ दौड़ता हूं तो मैं देख सकता हूं कि जेडीके पूरी तरह से अनपॅक किया जा रहा है ... – thejartender
नहीं, '/ etc/environment' सामान सुनिश्चित करता है कि JAVA_HOME var सभी नए गोले में दिखाई देगा। रिबूट के बारे में सोचने का एकमात्र कारण यह सुनिश्चित करना है कि वर्तमान में सभी 'पुराने' चल रहे जेवीएमएस समाप्त हो जाएं। –