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]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章