options的主要選項: -sourcepath <路徑> ?。褐付↗ava源文件的路徑。 -d <路徑> ?。褐付ň幾g生成的類文件存放目錄,該目錄必須存在。如果沒有指定目錄,生成類文件和源文件放在同一目錄下。 -classpath <路徑> :設(shè)定要搜索類的路徑。可以是目錄,jar文件,zip文件(里面都是class文件),會覆蓋掉所有在CLASSPATH里面的設(shè)定。 -deprecation :輸出源程序中使用了不鼓勵使用(Deprecated)的API的具體位置。 -verbose :輸出編譯器運行中的詳細(xì)工作信息。
打開cmd命令窗口,切換目錄到test目錄下。 編譯test到classes目錄下:
編譯時輸出使用了Deprecated的API的位置:
輸出詳細(xì)編譯信息:
說明: --javac在編譯源文件時,會先對編譯源文件中關(guān)聯(lián)的其它文件。 --可以同時指定多個要編譯的源文件,用空格分隔。 --如果編譯文件已存,且源文件沒有更新,則不會重新編譯該源文件。
java命令java命令用于運行Java程序,它會啟動Java虛擬機,Java虛擬機加載相關(guān)的類,然后調(diào)用主程序main()方法。 -classpath <路徑> :設(shè)定要搜索的類的路徑,可以是目錄,jar文件,zip文件(里面都是class文件),會覆蓋掉所有的CLASSPATH的設(shè)定。多個用';’分隔。 -verbose :輸出運行時詳細(xì)工作信息。 -jar :指定可執(zhí)行的jar包。
在/test目錄下運行編譯后的Test程序:
jar命令jar命令能夠把Java應(yīng)用打包成一個文件,這個文件的擴展名為.jar,稱為JAR文件。JAR 文件非常類似 ZIP 文件。準(zhǔn)確的說,它就是 ZIP 文件,所以叫它文件包。JAR 文件與 ZIP 文件唯一的區(qū)別就是在 JAR 文件的內(nèi)容中,包含了一個 META-INF/MANIFEST.MF 文件,這個文件是在生成 JAR 文件的時候自動創(chuàng)建的。jar命令可以打包任意文件,但通常情況下我們只把編譯后的.class文件打包成JAR包。
jar語法:
-c 創(chuàng)建新的 JAR 文件包 -t 列出 JAR 文件包的內(nèi)容列表 -x 展開 JAR 文件包的指定文件或者所有文件 -u 更新已存在的 JAR 文件包 (添加文件到 JAR 文件包中)
[vfm0M] 中的選項可以任選,也可以不選,它們是 jar 命令的選項參數(shù) -v 生成詳細(xì)報告并打印到標(biāo)準(zhǔn)輸出 -f 指定 JAR 文件名,通常這個參數(shù)是必須的 -m 指定需要包含的 MANIFEST 清單文件 -0 只存儲,不壓縮,這樣產(chǎn)生的 JAR 文件包會比不用該參數(shù)產(chǎn)生的體積大,但速度更快 -M 不產(chǎn)生所有項的清單(MANIFEST〕文件,此參數(shù)會忽略 -m 參數(shù) [jar-文件] 即需要生成、查看、更新或者解開的 JAR 文件包,它是 -f 參數(shù)的附屬參數(shù) [manifest-文件] 即 MANIFEST 清單文件,它是 -m 參數(shù)的附屬參數(shù) [-C 目錄] 表示轉(zhuǎn)到指定目錄下去執(zhí)行這個 jar 命令的操作。它相當(dāng)于先使用 cd 命令轉(zhuǎn)該目錄下再執(zhí)行不帶 -C 參數(shù)的 jar 命令,它只能在創(chuàng)建和更新 JAR 文件包的時候可用。
把test的編譯文件打包成jar包(注意,一定要在test/classes目錄下執(zhí)行命令):
把包成功后就可以用下面java命令運行Test程序:
(先刪除classpath目錄下的所有文件,)把test.jar包解壓到當(dāng)前目錄(classpath)下:
解壓后,在當(dāng)前目錄下多了 META-INF/MANIFEST.MF 目錄和文件,它用于描述JAR文件的信息。這就是jar和zip的區(qū)別所在。
創(chuàng)建可執(zhí)行的jar包 用上訴javac命令,把Test源文件編譯到classes目錄下。在classes目錄下創(chuàng)建一個Manifest.txt文件,內(nèi)容如下:
(注意:要回車產(chǎn)生一個空行,這是Java規(guī)范) 以上內(nèi)容指定JAR包的主程序是cn.pxl.Test類。在classes目錄下運行如下jar命令:
這樣創(chuàng)建了一個可執(zhí)行的JAR包,用以下命令運行這個JAR包:
|
|
來自: 明天網(wǎng)吧 > 《java》