命令運行java

問HelloWorld問題的人實在是太多了,而且經常都以“問一個最簡單的問題”開頭。其  
  實回想一下,自己也是從這個階段過來的,說一句“你好”,真的是一個最簡單的問題  
  嗎?...//think   好了,言歸正傳,let's   say   "HelloWorld!"   in   java...  
  首先,我們要假設一下我們的平臺是Windows+JDK(Linux環境下也差不多)。這個環境  
  是相當普遍、基礎和入門的。確定已經正確安裝JDK了,下一步是小心翼翼地敲入某本教  
  程上的HelloWorld源碼,存盤,然後編譯,javac   ...問題來了:  
   
   
  *   錯誤1:  
  'javac'   不是內部或外部命令,也不是可運行的程序或批處理文件。  
  (javac:   Command   not   found)  
  產生的原因是沒有設置好環境變量path。Win98下在autoexce.bat中加入  
  path=%path%;c:/jdk1.2/bin,Win2000下則控制面板->系統->高級->環境變量->系統變  
  量...看到了?雙擊Path,在後面加上c:/jdk1.2/bin。當然我們假設JDK安裝在了  
  c:/jdk1.2目錄下(有點唐僧了?)...好像還要重啓系統才起作用...(//知道了!//西  
  紅柿)  
  好,再試試!javac   HelloWorld  
   
   
  *   錯誤2:  
  HelloWorld   is   an   invalid   option   or   argument.  
  拜託,給點專業精神,java的源程序是一定要存成.java文件的,而且編譯時要寫全  
  .java呀。  
  OK,   javac   HelloWorld.java   (這回總該成了吧?)  
   
   
  *   錯誤3:  
  HelloWorld.java:1:   Public   class   helloworld   must   be   defined   in   a   file   called  
  "HelloWorld.java".  
  public   class   helloworld{  
  ^  
  這個問題嘛,是因爲你的類的名字與文件的名字不一致。(誰說的,明明看到人家都有  
  這樣寫的   ;(   )   OK,準確地說,一個Java源程序中可以定義多個類,但是,具有public  
  屬性的類只能有一個,而且要與文件名相一致。還有,main方法一定要放在這個public  
  的類之中,這樣才能java(運行)這個類。另外一點是Java語言裏面是嚴格區分大小寫  
  的,初學者要注意呀。像上例中   helloworld   與   HelloWorld   就認爲是不一樣,因而...  
  oh...   好,改好了,嘻嘻...   javac   HelloWorld.java  
  ...(咦,怎麼什麼也沒有呀?)//faint   這就是編譯通過了!看看是不是多了一個  
  HelloWorld.class   ?  
  (hehe..按書上教的:)   java   HelloWorld   (!!   這個我知道,不是java   HelloWorld.class  
  喲)  
   
   
  *   錯誤4:  
  Exception   in   thread   "main"   java.lang.NoClassDefFoundError:   HelloWorld  
  呵呵,這個嘛,就是著名的類路徑(classpath)問題啦。實際上,類路徑是在編譯過程就  
  涉及的Java中的概念。classpath就是指明去哪裏找用到的類,就這麼簡單。由於我們的  
  HelloWorld沒用到其它的(非java.lang包中的)類,所以編譯時沒遇到這個問題。運行  
  時呢,就要指明你的類在哪裏了。解決方法嘛,可以用下面的命令運行:  
  java   -classpath   .   HelloWorld  
  “.”就代表當前目錄。當然這樣做有點麻煩(是“太麻煩”!),我們可以在環境變量  
  中設置默認的classpath。方法就照上述設置path那樣。將classpath設爲:  
  classpath=.;c:/jdk1.2/lib/dt.jar;c:/jdk1.2/lib/tools.jar   後面的兩個建議也設上  
  ,以後開發用的着。  
  java   -classpath   .   HelloWorld(再不出來我就不學java了)  
   
   
  *   錯誤5:  
  Exception   in   thread   "main"   java.lang.NoSuchMethodError:   main  
  (//咣噹)別,堅持住。看看你的代碼,問題出在main方法的定義上,寫對地方了嗎,  
  是這樣寫的嗎:  
  public   static   void   main(String   args[])   {   //一個字都不要差,先別問爲什麼了...  
  對,包括大小寫!  
  java   -classpath   .   HelloWorld   (聽天由命了!)  
  Hello   World!  
  (faint!終於...)  
  歡迎來到Java世界!所以說,無法運行HelloWorld   真的並不是一個“最簡單的問題”。  
  附:HelloWorld.java  
  //   HelloWorld.java  
  public   class   HelloWorld   {  
  public   static   void   main(String   args[])   {  
  System.out.println("Hello   World!")   ;  
  }  
  }  
   
  --  

發佈了35 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章