2012-01-10 64 views
0

當前區域所以我有這樣的類:的NoClassDefFoundError和Windows

public class Main { 
    public static void main(String[] args) {} 
} 

我在Windows 7上工作,我已經改變了當前的區域設置爲英語(美國)。 當我運行的路徑,C本類:\Москва我有錯誤消息:

Exception in thread "main" java.lang.NoClassDefFoundError: Main 
Caused by: java.lang.ClassNotFoundException: Main 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
Could not find the main class: Main. Program will exit. 

當我運行的路徑,C本類:\莫斯科我有沒有錯誤和它的作品。 如果我的語言環境俄語一切正常。

請幫我理解。爲什麼會這樣。

+0

向我們展示您的命令行。 – Viruzzo 2012-01-10 16:12:35

+0

java -cp。主要。請注意,該問題未與類路徑相關聯,因爲<< java -cp。 Main >>在俄語區域很好地被調用。我認爲這個問題與Windows中使用西里爾文符號和非俄語區域設置的路徑有關。 – Tim 2012-01-10 17:42:35

+0

看着這個http://netbeans.org/bugzilla/show_bug.cgi?id=184513它似乎是Windows和Java的問題,但它是一箇舊的問題:你使用的是什麼版本的Java?你可以試用Java 7嗎? – Viruzzo 2012-01-11 09:19:31

回答

0

C:\Москва是CLASSPATH中的這個文件夾嗎?我懷疑它不是。如果在運行時期java類路徑中沒有類,則會發生NoClassDefFoundError。將該文件夾添加到類路徑中。這裏有一個很好的鏈接,說明爲什麼發生這種情況以及你需要做什麼NoclassDefFoundError

+0

是在類路徑中。但問題不在於classpath。這是Windows下的語言環境問題。 – Tim 2012-01-10 17:39:23

+0

我不這麼認爲,如果是這樣的話,它不會顯示java.lang.NoClassDefFoundError:Main 您的堆棧跟蹤沒有與語言環境相關的線索。 – kosa 2012-01-10 20:27:12

+0

您可以將您的語言環境更改爲俄語,並從路徑C運行此類:\Москва(或選擇另一個西里爾語文件夾名稱)?請給出結果。謝謝。 – Tim 2012-01-11 05:40:36