問HelloWorld問題的人實在是太多了,而且經常都以“問一個最簡單的問題”開頭。其實回想一下,自己也是從這個階段過來的,說一句“你好”,真的是一個最簡單的問題嗎? ??* 錯誤1: ??'javac' 不是內部或外部命令,也不是可運行的程序或批處理文件。 ??產生的原因是沒有設置好環境變量path。 ??* 錯誤2: ??HelloWorld is an invalid option or argument. ??拜托,給點專業精神,java的源程序是一定要存成.java文件的,而且編譯時要寫全.java呀。 ??* 錯誤3: ??HelloWorld.java:1: Public class helloworld must be defined in a file called ??這個問題嘛,是因為你的類的名字與文件的名字不一致。(誰說的,明明看到人家都有這樣寫的)OK,準確地說,一個Java源程序中可以定義多個類,但是,具有public屬性的類只能有一個,而且要與文件名相一致。還有,main方法一定要放在這個public的類之中,這樣才能java(運行)這個類。另外一點是Java語言里面是嚴格區分大小寫的,初學者要注意呀。像上例中 helloworld 與 HelloWorld 就認為是不一樣,因而... ??javac HelloWorld.java ??* 錯誤4: ??Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld ??呵呵,這個嘛,就是著名的類路徑(classpath)問題啦。實際上,類路徑是在編譯過程就涉及的Java中的概念。classpath就是指明去哪里找用到的類,就這么簡單。由于我們的HelloWorld沒用到其它的(非java.lang包中的)類,所以編譯時沒遇到這個問題。運行時呢,就要指明你的類在哪里了。解決方法嘛,可以用下面的命令運行: ??java -classpath . HelloWorld ??java -classpath . HelloWorld(再不出來我就不學java了) ??* 錯誤5: ??Exception in thread "main" java.lang.NoSuchMethodError: main ??(//咣當)別,堅持住??纯茨愕拇a,問題出在main方法的定義上,寫對地方了嗎,是這樣寫的嗎: ??public static void main(String args[]) { // 一個字都不要差,先別問為什么了...對,包括大小寫! ??java -classpath . HelloWorld (聽天由命了?。?br/> ??Hello World! ??(faint!終于...) ??歡迎來到Java世界!所以說,無法運行HelloWorld 真的并不是一個“最簡單的問題”。 ??附:HelloWorld.java |
原文轉自:http://www.anti-gravitydesign.com