Sadece aşağıdaki komut dosyasını çalıştırdım ve JDK'yı doğru konuma getiriyor ve paketini açıyor. Sorun, her java
komutunun (/urs/bin kopyalandığı şekilde) hata vermesidir. Daha sonra, JDK yükleme dizinine cd
(şimdi JDK/bin dizinindeyim) aracılığıyla girip çift tıklatarak kontrol edin: ./java -version
ve şu numarayı alın: ./java: No such file or directory
, ama java
orada! JDK üzerindeki ls -l
, tüm java
istemcilerinin bin kutusunun içinde olduğunu gösterir. ls -l /usr/lib/jvm/jdk1.7.0_02/bin/java
RunningJava, listede listeleniyor, ancak yürütme "./java: Böyle bir dosya veya dizin yok" üretir.
#!/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
bana verir:
[email protected]:~$ -rwxr-xr-x 1 yucca yucca 5654 2011-11-17 22:38 /usr/lib/jvm/jdk1.7.0_02/bin/java
da ran: file /usr/lib/jvm/jdk1.7.0_02/bin
bir çıkış ile: Bir 32bit çalıştırma ortamı olmadan 64bit sistemde çalıştırıyorsanız
/usr/lib/jvm/jdk1.7.0_02/bin: directory
Java'yı yeniden yüklemek için yeniden yükleme? Bu "Unix Yolu" değil. –
@MarcB Kullanıcı terminali kapatırsa, ortam (Java ile) kaybolur mu? Scriptim birkaç gün önce çalışmıştı ve bash -x ile koştuğumda jdk paketinin dolu olduğunu görebiliyordum. – thejartender
Hayır,/etc/environment 'öğeleri, JAVA_HOME varyasyonunun tüm yeni kabuklarda görünmesini sağlar. Yeniden başlatma için düşünebilmemin tek nedeni, şu anda çalışan tüm eski 'jvms'lerin sonlandırılmasını sağlamaktır. –