歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux JDK 段錯誤 環境變量的問題

Linux JDK 段錯誤 環境變量的問題

日期:2017/2/28 15:49:26   编辑:Linux教程

linux新安裝了jdk1.6,輸入 javac HelloWorld.java出現“段錯誤”環境變量是這樣設定的:

JAVA_HOME=/usr/java/jdk1.6.0_13

PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME PATH CLASSPATH

在虛擬機中這樣是沒有錯誤的,但是在真實系統上就不行了。

首先確定jdk的javac在PATH目錄下,也就是:/usr/java/jdk1.6.0_13/bin/javac

[root@localhost tmp]# /usr/java/jdk1.6.0_13/bin/javac HelloWorld.java

編譯通過

[root@localhost tmp]# java HelloWorld

HelloWorld!

出現結果

這就說明按照設置的$PATH,並沒有找到jdk的javac。

[root@localhost /tmp]$ echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/java/jdk1.6.0_13/bin

可以看到JDK的PATH在最後面。

[root@localhost tmp]$ which javac (在環境變量$PATH設置的目錄裡查找符合條件的文件。)

你可以看到有一串的javac文件,除了一個是jdk的,其余都是系統自帶的。

因此把上面的PATH=$PATH:$JAVA_HOME/bin改

PATH=$JAVA_HOME/bin:$PATH就可以了。

注:PATH=$PATH:$JAVA_HOME/bin 意思是PATH先從系統的PATH變量找,再找jdk的。

PATH=$JAVA_HOME/bin:$PATH 是從jdk先找,再找系統的。

還有個最根本的問題:為什麼在虛擬機上完全安裝linux沒有出現這個問題,而在真實機器上安裝就有這個問題呢?

Copyright © Linux教程網 All Rights Reserved