1. 程式人生 > >java在cmd下編譯執行

java在cmd下編譯執行

 前幾天,我實在是丟人了,使用java編了一個小程式,卻不知道怎麼在cmd下運行了,平時都是在eclipse或者是myEclipse下寫程式碼,把原始的東西全部忘完了,丟了大人了都!

方法寫到這裡,以備不測!

JAVA是編譯型和解釋型的結合,javac是編譯,java是解釋,解釋的*.class檔案在JVM上的執行

Java命令一執行,就表示將*.class檔案放在JVM上進行執行,執行的結果列印在螢幕上

執行的步驟:

1:進入該檔案所在的碟符,如這個檔案在D盤

d:

2:在該碟符下進入該檔案所在的資料夾(主要命令cd 資料夾; dir是檢視該資料夾下面的東西)

Cd 資料夾

3:進入到該資料夾可以看到這個java檔案以後 那麼就用javac編譯他

Javac  helloword.java

4:現在就可以看到編譯後的class檔案   helloword.class

Java helloword

注意在這裡,後面是不帶字尾名的

注意咯,在編譯的時候,有可能會報這樣的資訊:編碼GBK的不可對映字元

該怎麼解決呢:下面引用了這位老兄的詳細解釋:

這是因為:由於JDK是國際版的,在編譯的時候,如果我們沒有用-encoding引數指定我們的JAVA源程式的編碼格式,則javac.exe首先獲得我們作業系統預設採用的編碼格式,也即在編譯java程式時,若我們不指定源程式檔案的編碼格式,JDK首先獲得作業系統的file.encoding引數(它儲存的就是作業系統預設的編碼格式,如WIN2k,它的值為GBK),然後JDK就把我們的java源程式從file.encoding編碼格式轉化為JAVA內部預設的UNICODE格式放入記憶體中。然後,javac把轉換後的unicode格式的檔案進行編譯成.class類檔案,此時.class檔案是UNICODE編碼的,它暫放在記憶體中,緊接著,JDK將此以UNICODE編碼的編譯後的class檔案儲存到我們的作業系統中形成我們見到的.class檔案。對我們來說,我們最終獲得的.class檔案是內容以UNICODE編碼格式儲存的類檔案,它內部包含我們源程式中的中文字串,只不過此時它己經由file.encoding格式轉化為UNICODE格式了。當我們不加設定就編譯時,相當於使用了引數:javac -encoding gbk XX.java,當然就會出現不相容的情況。

解決辦法是:應該使用-encoding引數指明編碼方式:javac -encoding UTF-8 XX.java,這下沒警告了,執行也正確了在JCreator 4中設定:選單:Configure --> Options --> JDK Tools --> Compiler,選中<Default>,然後選Edit,Parameters裡面,最前面新增:-encoding UTF-8。

Parameters原來的

預設值為:-classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]

修改後為:-encoding UTF-8 -classpath "$[ClassPath]" -d "$[OutputPath]" $[ModJavaFiles]