找回密碼
 註冊
搜索
查看: 2094|回復: 3

[教學] linux 下執行JAVA Exception in thread "main" java.lang

[複製鏈接]
發表於 2014-5-1 00:40:05 | 顯示全部樓層 |閱讀模式
 
Push to Facebook
在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吧
  1. vi # .bash_profile

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

  6. # User specific environment and startup programs

  7. PATH=$PATH:$HOME/bin

  8. export PATH
  9. unset USERNAME
  10. JAVA_HOME=/home/users/yangdan/JDK/jdk1.5.0_12
  11. CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
  12. PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
  13. export JAVA_HOME CLASSPATH PATH
複製代碼
再次執行還是
Exception in thread "main" java.lang.NoClassDefFoundError: gg (wrong name: ff/gg)
看起來像是被加包 package 因為我的package是ff所以執行下列指令
  1. java ff.gg
複製代碼
執行即可



 
發表於 2015-7-25 09:27:34 | 顯示全部樓層
謝謝,希望以後多些












美女如云之国际闲人
版主招募中
發表於 2015-7-29 23:01:00 | 顯示全部樓層
顶一个先吧












恐怖高校
發表於 2016-5-5 01:30:24 | 顯示全部樓層

好久没去关注了,今天再去看看,谢谢了!
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|TShopping

GMT+8, 2025-5-1 00:02 , Processed in 0.019525 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表