2010年6月9日 星期三

Java 編譯詳細說明與使用注意事項,package有無差很大

§Javac 與 Java 使用注意細節
今天小弟編譯時未注意package讓我莫名其妙爽爽,所以研究了一下將其寫成筆記記錄。

Setp1.建立測試資料夾結構如下

  • C:\MyProject\Classes\tw\com\test
  • C:\MyProject\source
  • 可善用命令列來建立
  • 建立資料夾指令:md [資料夾名稱]
Setp2.於source底下建立SayHello.java
C:\MyProject\source編寫如下Java Source code ,完成後存成SayHello.java檔
  • 注意此檔未使用package宣告。
  • 注意不管是使用筆記本或是NotePad++來編輯,存檔格式請用ANSI,使用UTF8反而會讓中文輸出會變成亂碼。
public class SayHello

public static void main(String[] args)
System.out.println("hello 歡迎來到小J的部落格"); 

Step3.用javac編譯.java檔成為.class檔
小技巧:輸入命令可以善用Tab鍵來代替檔名輸入,將會快速許多。
於command line中輸入:
  1. C:\>cd MyProject
  2. C:\MyProject>cd source
  3. C:\MyProject\source>javac SayHello.java
如此會在source產生一個編譯好的SayHello.class於source資料夾中。

Step4.用java執行.class檔
輸入:
  • C:\MyProject\source>java SayHello
輸出:
  • hello 歡迎來到小J的部落格
Step5.使用javac與參數-d將編譯好之檔案置放於classes
小技巧:..\其實也可以使用../代替
輸入:
  • C:\MyProject\source>javac -d ..\classes SayHello.java
  • C:\MyProject\source>cd.. \classes
  • C:\MyProject\classes>
  • C:\MyProject\classes>dir
  • 如此可以看見classes資料夾中產生了一個SayHello.class
輸入:
  • C:\MyProject\classes>java SayHello
輸出:
  • hello 歡迎來到小J的部落格
Step6.清除掉剛剛產生的.class檔

Step7.編寫具有package的.java檔,注意這裡會很不一樣
  • 將剛剛的SayHello程式碼多加一段package宣告
package com;
public class SayHello

public static void main(String[] args)
System.out.println("hello 歡迎來到小J的部落格"); 

Step8.使用javac編譯具有package宣告的SayHello
輸入:
  • C:\MyProject\source>javac SayHello.java
Step9.使用java執行
輸入:
  • C:\MyProject\source>java SayHello
結果:發生錯誤












咦?妙了!輸入一樣的執行命令為什麼會有錯誤?

Step9.使用java com.SayHello
輸入:
  • C:\MyProject\source>java com.SayHello
結果:一樣是錯誤

Step10.於source中建立一個com資料夾
在source中建立一個com資料夾
輸入:
  • C:\MyProject\source>md com
Step11.將SayHello.class搬移至C:\MyProject\source\com底下
將SayHello.class搬移至C:\MyProject\source\com底下
輸入:
  • C:\MyProject\source>move SayHello.class ./com
Step12.再次使用java com.Sayhello執行
輸入:
  • C:\MyProject\source>java com.SayHello
結果:
  • hello 歡迎來到小J的部落格

Step13.正確操作一次流程
理解了用法之後現在我們來做一次正確的操作,沒有人將.class放於source中,因該將其置放於classes

將剛剛source底下的com刪除
  • C:\MyProject\source>del com
  • C:\MyProject\source>rd com
將SayHello.java程式碼修改成

package tw.com.test;
public class SayHello

public static void main(String[] args)
System.out.println("hello 歡迎來到小J的部落格"); 

輸入:
  • C:\MyProject\source> javac-d ../classes SayHello.java
  • 這時候檔案已經編譯存放至C:\MyProject\classes\tw\com\test\底下了
輸入:
  • C:\MyProject\source>cd ../classes
  • C:\MyProject\classes>java tw.com.test.SayHello
輸出:hello 歡迎來到小J的部落格


Dos命令整理:
建立資料夾:md [資料夾名稱]
刪除資料架:rd [資料夾名稱]
刪除檔案:del [檔案名稱]
搬移檔案:move [要搬移的檔案]  [目的路徑]
切換路徑:cd

.\或./代表所在地
..\或../代表目前所在的上一層

1 則留言:

  1. Ocean 學習筆記: Java 編譯詳細說明與使用注意事項,Package有無差很大 >>>>> Download Now

    >>>>> Download Full

    Ocean 學習筆記: Java 編譯詳細說明與使用注意事項,Package有無差很大 >>>>> Download LINK

    >>>>> Download Now

    Ocean 學習筆記: Java 編譯詳細說明與使用注意事項,Package有無差很大 >>>>> Download Full

    >>>>> Download LINK

    回覆刪除