Linux環境下,Exception in thread "main" java.lang.NoClassDefFoundError

在Linux環境中,用javac eg.java編譯成功,但是java eg的時候出現Exception in thread "main" java.lang.NoClassDefFoundError,解決辦法:

執行java -cp . eg或者 java -classpath . eg,如果執行通過,說明classpath中沒有包含特殊路徑“.",那麼只需要將”."加進classpath中去即可。我的classpath變量是放在當前用戶目錄下的.bash_profile文件中,因此vi進入該文件,修改一下classpath,CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib,記得修改完後保存,退出terminal再登陸就可以了(爲什麼需要退出terminal再登陸呢?原因是.bash_profile是打開bash的時候讀的,如果你對這個文件進行了修改,這種修改是不會被自動讀取並反應出來的,所以你需要重新登錄terminal,再讀一次.bash_profile纔可以哦)。貼一下我改過後的的./bash_profile吧

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME
JAVA_HOME=/home/users/yangdan/JDK/jdk1.5.0_12
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export JAVA_HOME CLASSPATH PATH



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章