您的位置:首頁>正文

Java帶包結構命令列編譯

用記事本編寫一個帶有包結構的簡單Java程式, 注意檔案名和類名一致

啟動DOS

進入檔所在路徑, 找到我們所創建的檔。

在檔所在資料夾內執行編譯

查看所在資料夾內檔, 多出一個TestPackage.class

執行java命令

出現"找不到或無法載入主類"的提示

該如何解決?

先刪除之前生成的class檔

使用"javac -d . TestPackage.java"重新編譯

查看文件

進入testPackage檔目錄,出現我們的class檔

執行運行命令

執行成功。

"javac -d . TestPackage.java"和"javac TestPackage.java"有什麼區別?

javac

javac -d .

-d參數用於指定生成class檔的位置,.(點號)表示目前的目錄。

-d參數的作用是指定生成java包的根目錄,"-d ." 表示在目前的目錄上編譯生成java包。

如果省略了-d,則僅僅是在目前的目錄生成的class檔。大多數情況都是編譯生成java,儘量使用-d參數

那為什麼有了包結構之後就可以運行程式呢?

因為在TestPackage.java中有包聲明testPackage,當執行TestPackage.java原始檔案時java虛擬機器首先會在TestPackage.java目前的目錄尋找位元組碼檔,雖然找到了,但是因為在TestPackage.java中有包聲明,java虛擬機器緊接著去包目錄下尋找有沒有TestPackage.class位元組碼檔,沒有找到就會提示錯誤。

查看文件

進入testPackage檔目錄,出現我們的class檔

執行運行命令

執行成功。

"javac -d . TestPackage.java"和"javac TestPackage.java"有什麼區別?

javac

javac -d .

-d參數用於指定生成class檔的位置,.(點號)表示目前的目錄。

-d參數的作用是指定生成java包的根目錄,"-d ." 表示在目前的目錄上編譯生成java包。

如果省略了-d,則僅僅是在目前的目錄生成的class檔。大多數情況都是編譯生成java,儘量使用-d參數

那為什麼有了包結構之後就可以運行程式呢?

因為在TestPackage.java中有包聲明testPackage,當執行TestPackage.java原始檔案時java虛擬機器首先會在TestPackage.java目前的目錄尋找位元組碼檔,雖然找到了,但是因為在TestPackage.java中有包聲明,java虛擬機器緊接著去包目錄下尋找有沒有TestPackage.class位元組碼檔,沒有找到就會提示錯誤。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示