woff 發表於 2014-5-1 00:40:05

linux 下執行JAVA Exception in thread "main" java.lang

在WINDOWS下編譯完成的檔案再LINUX下卻出現Exception in thread "main" java.lang.NoClassDefFoundError: gg (wrong name: ff/gg)

GOOGLE一下發現

首先

在Linux環境中,用javac gg.java編譯成功,但是java eg的時候出現Exception in thread "main" java.lang.NoClassDefFoundError,解決辦法:
執行java -cp . eg或者java -classpath . gg,如果執行通過,說明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吧vi # .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再次執行還是
Exception in thread "main" java.lang.NoClassDefFoundError: gg (wrong name: ff/gg)
看起來像是被加包 package 因為我的package是ff所以執行下列指令java ff.gg執行即可



gpfid 發表於 2015-7-25 09:27:34

謝謝,希望以後多些











static/image/common/sigline.gif
美女如云之国际闲人

ozzku 發表於 2015-7-29 23:01:00

顶一个先吧











static/image/common/sigline.gif
恐怖高校

ndtbe 發表於 2016-5-5 01:30:24


好久没去关注了,今天再去看看,谢谢了!
頁: [1]
查看完整版本: linux 下執行JAVA Exception in thread "main" java.lang