JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 新手區 » 例外/錯誤處理  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 FAQ - 如何處理 java.lang.NoClassDefFoundError [精華]
liminjun

JavaDOCHelper真讚



發文: 496
積分: 5
於 2003-11-13 23:19 user profilesend a private message to usersend email to liminjunreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我是JAVA初學者
第一次寫JAVA就碰到這種問題
我JDK已經安裝完畢

編譯檔案的時候沒出現問題
執行的時候出現
C:\Temp>java Sample1
Exception in thread "main" java.lang.NoClassDefFoundError: Sample1
請問該如何解決
拜託提供詳細一點的步驟


anthonycs edited on 2004-11-03 19:26
reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
browser

戀香

版主

發文: 3570
積分: 1
於 2003-11-13 23:24 user profilesend a private message to usersend email to browserreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
請先學會 ... 全文檢索 本站

http://www.javaworld.com.tw/jute/post/view?bid=29&id=16093


reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
liminjun

JavaDOCHelper真讚



發文: 496
積分: 5
於 2003-11-13 23:35 user profilesend a private message to usersend email to liminjunreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我有使用全文檢索
也知道是CLASSPATH設定的問題
BUT最重要的是
不知道設定成什麼
以下是我早先參考別人的設定 (我有改成正確的安裝目錄)
SET CLASSPATH=C:\j2sdk1.4.1_03\lib;C:\j2sdk1.4.1_03\lib\tools.jar;
但是問題依然存在無法執行
我把JDK安裝在C:\j2sdk1.4.1_03
請問該如何設定?


reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
alin





發文: 223
積分: 3
於 2003-11-13 23:44 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
你的執行環境?
os版本?


reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
liminjun

JavaDOCHelper真讚



發文: 496
積分: 5
於 2003-11-13 23:57 user profilesend a private message to usersend email to liminjunreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
WinXP Pro
JDK 1.4.1


reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
liminjun

JavaDOCHelper真讚



發文: 496
積分: 5
於 2003-11-14 00:04 user profilesend a private message to usersend email to liminjunreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
問題已經解決
重點在於角括號內的字 < .; >

錯誤
SET CLASSPATH=C:\j2sdk1.4.1_03\lib;C:\j2sdk1.4.1_03\lib\tools.jar;
正確
SET CLASSPATH=.;C:\j2sdk1.4.1_03\lib;C:\j2sdk1.4.1_03\lib\tools.jar;

少了 < .; > 就造成執行正確和錯誤的強烈差距
我是JAVA新手......這個小細節 真的害死人


reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
samuelxin





發文: 23
積分: 0
於 2004-01-05 11:51 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
可是我試了您的方法
SET CLASSPATH=.;C:\j2sdk1.4.1_03\lib;C:\j2sdk1.4.1_03\lib\tools.jar;
還是不行ㄟ

我的OS是win XP Pro
jdk是1.4.0版
我是在
系統變數中的
變數直欄位中填入以下值
.;C:\j2sdk1.4.0\lib;C:\j2sdk1.4.0\lib\tools.jar

當我在DOS中鍵入set時確定有
CLASSPATH=.;C:\j2sdk1.4.0\lib;C:\j2sdk1.4.0\lib\tools.jar

可是還是不行
還是會出現以下訊息無法執行
Exception in thread "main" java.lang.NoClassDefFoundError: Ja/class
您可以再指點我嗎
謝謝您


reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:samuelxin]
Duncan

還隱隱作痛

版主

發文: 7816
積分: 39
於 2004-01-05 19:17 user profilesend a private message to usersend email to Duncanreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
samuelxin wrote:
可是還是不行
還是會出現以下訊息無法執行
Exception in thread "main" java.lang.NoClassDefFoundError: Ja/class
您可以再指點我嗎
謝謝您


從錯誤訊息看來,你是下了錯誤的 command:
java.exe Ja.class

請改成:
java.exe Ja


reply to postreply to post

給我
辣味豆腐 其餘免談
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
samuelxin





發文: 23
積分: 0
於 2004-01-06 08:54 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
哇!!!謝謝您
終於解決問題了
原來執行時不可以加上副檔名
再一次的謝謝您


reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
anthonycs



版主

發文: 1195
積分: 6
於 2004-03-10 00:49 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
liminjun wrote:
少了 < .; > 就造成執行正確和錯誤的強烈差距
我是JAVA新手......這個小細節 真的害死人


這個小細節是有一些原因的.
在沒有做任何設定之下 , 預設的CLASSPATH就是一個 .
這個 . 代表 命令提示字元的當前目錄
沒設定比設定錯誤還好一點點(對新手而言) , 只要 .class 在當前目錄 , 你還是可以執行程式

但是你若下了設定
SET CLASSPATH=C:\j2sdk1.4.1_03\lib;C:\j2sdk1.4.1_03\lib\tools.jar;
少了這個. 若你當前的目錄卻不是 C:\j2sdk1.4.1_03\lib , 就會發生NoClassDefFoundError

正確的設定
SET CLASSPATH=.;C:\j2sdk1.4.1_03\lib;C:\j2sdk1.4.1_03\lib\tools.jar;
表示當前的目錄 , C:\j2sdk1.4.1_03\lib\ , 以及 tools.jar 內的class都可以載入


anthonycs edited on 2004-04-10 23:14
reply to postreply to post
新手請維持互動討論精神, 請看良好的 討論示範
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:anthonycs]
sungo

瘋狂口罩大盜



發文: 822
積分: 17
於 2004-03-10 01:40 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
[引言過長]

幾個月前剛碰Java時正好犯了您說的這個錯誤,當時在那裡弄了
老半天也弄不好。(當時還沒發現JSPtw)...後來乾脆CLASSPATH
不設了,用內定的就好,也是執行的好好的!後來發現JSptw
後,才在相關文章裡看到原來自設的CLASSPATH要加"."。


anthonycs edited on 2004-04-10 23:14
reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
jpw0825





發文: 1
積分: 0
於 2004-06-29 14:57 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我跟了以上..但也不行??

reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
daniolryu





發文: 2
積分: 0
於 2004-08-27 17:53 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我試了以上的辦法
也改了CLASSPATH的值

我系統是WIN2000

我輸入echo %classpath%
顯示出:
.;C:\j2sdk1.4.2_05\lib;C:\j2sdk1.4.2_05\lib\tools.jar

這應該說明沒設置錯吧?

但爲什麽還是出現:Exception in thread "main" java.lang.NoClassDefFoundError: ellsworth

請大家幫幫我行嗎?我實在沒辦法了


reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:daniolryu]
Duncan

還隱隱作痛

版主

發文: 7816
積分: 39
於 2004-08-27 18:00 user profilesend a private message to usersend email to Duncanreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
daniolryu wrote:
我試了以上的辦法
也改了CLASSPATH的值

我系統是WIN2000

我輸入echo %classpath%
顯示出:
.;C:\j2sdk1.4.2_05\lib;C:\j2sdk1.4.2_05\lib\tools.jar

這應該說明沒設置錯吧?

但爲什麽還是出現:Exception in thread "main" java.lang.NoClassDefFoundError: ellsworth

請大家幫幫我行嗎?我實在沒辦法了


classpath 加了 "." 不是萬靈丹,依照你的 classpath 看來,你要執行 ellsworth 必須要在 ellsworth.class 就放在你執行 command 當下的目錄,provided ellsworth 屬於 unnamed package。

把你的 classpath、path 以及你執行的 command line 與 active 目錄,最好連 ellsworth.java 的內容也貼上來,我就告訴你怎麼去執行。


Duncan edited on 2004-08-27 18:02
reply to postreply to post

給我
辣味豆腐 其餘免談
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
Ulysses





發文: 6
積分: 0
於 2004-09-09 11:40 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我已經拜讀了各位的討論以及 FAQ, 但是此錯誤訊息仍然未解....

我本來的變數設定是 :
Classpath C:\j2sdk1.4.2_04\lib\dt.jar;C:\j2sdk1.4.2_04\lib\tools.jar

後來改成
C:\j2sdk1.4.2_04\lib;C:\j2sdk1.4.2_04\lib\tools.jar
or
.;C:\j2sdk1.4.2_04\lib;C:\j2sdk1.4.2_04\lib\tools.jar

都沒用

寫好的程式在 NetBean 下跑是 OK 的, 但在 DOS 下執行, 就會發生這個錯誤~~

OS : WinXP w/ SP1
J2SDK : 1.4.2_04

指令 :
javac code1.java ==> No Error
java code1 ==> Exception in thread "main" java.lang.NoClassDefFoundError: code1

Sad


reply to postreply to post
- Ulysses : The King of Ithaca Island
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:Ulysses]
Duncan

還隱隱作痛

版主

發文: 7816
積分: 39
於 2004-09-09 13:47 user profilesend a private message to usersend email to Duncanreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Ulysses wrote:
我已經拜讀了各位的討論以及 FAQ, 但是此錯誤訊息仍然未解....

我本來的變數設定是 :
Classpath C:\j2sdk1.4.2_04\lib\dt.jar;C:\j2sdk1.4.2_04\lib\tools.jar

後來改成
C:\j2sdk1.4.2_04\lib;C:\j2sdk1.4.2_04\lib\tools.jar<==
or
.;C:\j2sdk1.4.2_04\lib;C:\j2sdk1.4.2_04\lib\tools.jar<==這兩個沒有等效喔!

都沒用

寫好的程式在 NetBean 下跑是 OK 的, 但在 DOS 下執行, 就會發生這個錯誤~~

OS : WinXP w/ SP1
J2SDK : 1.4.2_04

指令 :
javac code1.java ==> No Error
java code1 ==> Exception in thread "main" java.lang.NoClassDefFoundError: code1

Sad


假設你 code1 屬於 unnamed package,你要在 code1.class 所在目錄去執行,或是把 code1.class 放在 classpath 任一個 entry 指定的目錄中。


reply to postreply to post

給我
辣味豆腐 其餘免談
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:liminjun]
dai110768





發文: 2
積分: 0
於 2004-09-10 22:19 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
大家好..我也市剛剛接觸JAVA的新手

也也發生這樣的問題

我的環境
W2K3 EE
j2sdk1.4.2_05

另外..我檔案存放的地方在

F:\JAVA

執行訊息
F:\>cd java

F:\java>javac 1.java <~~在這邊..沒有產生1.CLASS的檔案

F:\java>java 1.class
Exception in thread "main" java.lang.NoClassDefFoundError: 1/class

F:\java>java 1
Exception in thread "main" java.lang.NoClassDefFoundError: 1

F:\java>java.exe 1
Exception in thread "main" java.lang.NoClassDefFoundError: 1

F:\java>java.exe 1.class
Exception in thread "main" java.lang.NoClassDefFoundError: 1/class

F:\java>


anthonycs edited on 2004-11-26 11:07
reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:dai110768]
dai110768





發文: 2
積分: 0
於 2004-09-11 00:03 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
dai110768 wrote:


問題解決了
我解決的方法...從裝J2SDK

classpath 設定 C:\j2sdk1.4.2_05\lib;C:\j2sdk1.4.2_05\lib\tools.jar;C:\j2sdk1.4.2_05\lib\dt.jar;

path 加入 C:\j2sdk1.4.2_05\BIN

從新開機.....


anthonycs edited on 2004-11-26 11:06
reply to postreply to post
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:dai110768]
apu





發文: 14
積分: 1
於 2004-09-20 19:33 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
dai110768 wrote:

我解決的方法...從裝J2SDK

classpath 設定 C:\j2sdk1.4.2_05\lib;C:\j2sdk1.4.2_05\lib\tools.jar;C:\j2sdk1.4.2_05\lib\dt.jar;

path 加入 C:\j2sdk1.4.2_05\BIN

從新開機.....

1
2
3
CLASSPATH=.;C:\j2sdk1.4.2_05\lib;C:\j2sdk1.4.2_05\lib\tools.jar
JAVA_HOME=C:\j2sdk1.4.2_05
Path=C:\j2sdk1.4.2_05\bin;後面預設部分略

win 2000
j2sdk1.4.2_05

請問,
如果設定完classpath, path,等, 一定要重開機嗎?
我是想執行jar檔,
也出現了同樣的錯誤訊息
1
2
3
C:\javaprg\jar>java -jar apujar.jar
Exception in thread "main" java.lang.NoClassDefFoundError: MF$1
        at MF.main(MF.java:122)


main部分是:
1
2
3
4
5
6
7
public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }


是因為我在main裡面javax.swing.......這段有問題嗎?

我的apujar.jar是放在跟classpath那些設的路徑都不同, 有影響嗎?
是否一定要放在C:\j2sdk1.4.2_05\lib\apujar.jar; 這裡呢???


apu edited on 2004-09-20 19:35
reply to postreply to post
原以為, 畢業後碰到Java的機會不大了..
卻遇到一位希望我走好Java路的老大...
So..一年沒碰了, 努力爬文中!
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:apu]
Duncan

還隱隱作痛

版主

發文: 7816
積分: 39
於 2004-09-20 20:41 user profilesend a private message to usersend email to Duncanreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
apu wrote:
我是想執行jar檔,
也出現了同樣的錯誤訊息
1
2
3
C:\javaprg\jar>java -jar apujar.jar
Exception in thread "main" java.lang.NoClassDefFoundError: MF$1
        at MF.main(MF.java:122)


main部分是:
1
2
3
4
5
6
7
public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }


是因為我在main裡面javax.swing.......這段有問題嗎?

我的apujar.jar是放在跟classpath那些設的路徑都不同, 有影響嗎?
是否一定要放在C:\j2sdk1.4.2_05\lib\apujar.jar; 這裡呢???


一個 class 就會有一個 .class file(包括 nested class),你的 main method 有"定義" anonymous inner class,你也必須把其 .class 放進 executable jar 裡。

Exception message 有點出你缺了 class MF$1(就是那 inner class),你得把 MF$1.class 也放進 jar 裡。


reply to postreply to post

給我
辣味豆腐 其餘免談
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:Duncan]
apu





發文: 14
積分: 1
於 2004-09-21 14:57 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Duncan wrote:
一個 class 就會有一個 .class file(包括 nested class),你的 main method 有"定義" anonymous inner class,你也必須把其 .class 放進 executable jar 裡。

Exception message 有點出你缺了 class MF$1(就是那 inner class),你得把 MF$1.class 也放進 jar 裡。

再次感謝,
將MF$1.classs一起放進去就沒有錯誤了!Black Eye


reply to postreply to post
原以為, 畢業後碰到Java的機會不大了..
卻遇到一位希望我走好Java路的老大...
So..一年沒碰了, 努力爬文中!
作者 Re:請問錯誤訊息NoClassDefFoundError要如何解決 [Re:apu]
LancelotLiu

電腦籃球唱歌



發文: 100
積分: 1
於 2004-09-24 00:59 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
apu wrote:
請問,
如果設定完classpath, path,等, 一定要重開機嗎?


重新開啟 Command Line 視窗即可


reply to postreply to post
作者 Re:FAQ - 如何處理 java.lang.NoClassDefFoundError [Re:liminjun]
雲煙





發文: 3
積分: 0
於 2004-12-03 00:01 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我的出現Exception in thread "main" java.lang.NoClassDefFoundError: ex53\DBQuerySolution 這一串字
而我的是windows XP系統
我用的版本是j2sdk1.4.2_06
因為我要執行DBQuerySolution.class這個檔案,而裡面有ex53
而我下的旨令是c:\java ex53.DBQuerySolution這個旨令,而跑出上面那行字
而我的path 後面是加;C:\j2sdk1.4.2_06\bin
而我的classpath是下C:\j2sdk1.4.2_06\lib;C:\j2sdk1.4.2_06\lib\tools.jar;C:\j2sdk1.4.2_06\lib\dt.jar;
我不知道那裡錯了


reply to postreply to post
作者 Re:FAQ - 如何處理 java.lang.NoClassDefFoundError [Re:雲煙]
tekwei

系統穩定



發文: 978
積分: 4
於 2004-12-03 01:55 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
雲煙 wrote:
我的出現Exception in thread "main" java.lang.NoClassDefFoundError: ex53\DBQuerySolution 這一串字
而我的是windows XP系統
我用的版本是j2sdk1.4.2_06
因為我要執行DBQuerySolution.class這個檔案,而裡面有ex53
而我下的旨令是c:\java ex53.DBQuerySolution這個旨令,而跑出上面那行字
而我的path 後面是加;C:\j2sdk1.4.2_06\bin
而我的classpath是下C:\j2sdk1.4.2_06\lib;C:\j2sdk1.4.2_06\lib\tools.jar;C:\j2sdk1.4.2_06\lib\dt.jar;
我不知道那裡錯了

see 楼上 liminjun 第三貼。
--------------------------------------------------------------------------------------------------
問題已經解決
重點在於角括號內的字 < .; >

錯誤
SET CLASSPATH=C:\j2sdk1.4.1_03\lib;C:\j2sdk1.4.1_03\lib\tools.jar;
正確
SET CLASSPATH=.;C:\j2sdk1.4.1_03\lib;C:\j2sdk1.4.1_03\lib\tools.jar;

少了 < .; > 就造成執行正確和錯誤的強烈差距
我是JAVA新手......這個小細節 真的害死人
--------------------------------------------------------------------------------------------------


reply to postreply to post
作者 Re:FAQ - 如何處理 java.lang.NoClassDefFoundError [Re:liminjun]
mooneclipse





發文: 22
積分: 0
於 2005-01-28 15:49 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
問題已解決!! 恕刪內容。
謝謝囉,上述東西很好用!!


mooneclipse edited on 2005-01-28 19:10
reply to postreply to post
go to first page go to previous page  1   2   3  go to next page go to last page
» JWorld@TW »  Java 新手區 » 例外/錯誤處理

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8