jar文件是java開發(fā)的一種zip格式的打包,JAR 文件不僅是一個壓縮包,還可以是可執(zhí)行程序、電子書、插件等,并可被像編譯器和 JVM 這樣的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用來指示工具如何處理特定的 JAR。
1.在dos下面打包jar文件
D:\jdk1.5.0_07\bin> jar /help
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目錄] 文件名 ...
選項:
-c 創(chuàng)建新的存檔
-t 列出存檔內(nèi)容的列表
-x 展開存檔中的命名的(或所有的〕文件
-u 更新已存在的存檔
-v 生成詳細(xì)輸出到標(biāo)準(zhǔn)輸出上
-f 指定存檔文件名
-m 包含來自標(biāo)明文件的標(biāo)明信息
-0 只存儲方式;未用ZIP壓縮格式
-M 不產(chǎn)生所有項的清單(manifest〕文件
-i 為指定的jar文件產(chǎn)生索引信息
-C 改變到指定的目錄,
在命令行中運(yùn)行剛剛生成的jar,命令如下:
java -jar test.jar
如果在jar中有一些System.out.prinln語句,運(yùn)行后想看看打印出的內(nèi)容,可以用一下命令:
java -jar test.jar >log.txt
輸出信息會被打印到log.txt中,當(dāng)然log.txt自動生成,并位于和test.jar一個目錄中。
這里也可以新建一個start.bat文件,創(chuàng)建后;右鍵---編輯,輸入:java -jar test.jar >log.txt;以后直接雙擊start.bat即可運(yùn)行test.jar啦。
注意,如果你是在文件導(dǎo)出放在如:E盤,則你需要導(dǎo)入得包也要放在這個目錄里。
如果一個文件名是一個目錄,它將被遞歸處理。
清單(manifest〕文件名和存檔文件名都需要被指定,按 'm ' 和 'f '標(biāo)志指定的相同順序。
示例1:將兩個class文件存檔到一個名為 'classes.jar ' 的存檔文件中:
jar cvf classes.jar Foo.class Bar.class
示例2:用一個存在的清單(manifest)文件 'mymanifest ' 將 foo/ 目錄下的所有
文件存檔到一個名為 'classes.jar ' 的存檔文件中:
jar cvfm classes.jar mymanifest -C foo/ .
2.用ecliPSe打包jar文件
eclipse通過導(dǎo)出的方式(右鍵單擊項目,之后選擇Export)打包java類文件生成jar包。
方法一:(在項目工程沒有引用外部jar包時,直接導(dǎo)出)
選中工程---->右鍵,Export...--->Java--->JAR file--->next-->選擇jar file的路徑及名稱-->next-->next---> 選擇main class--->finish.
方法2:
當(dāng)工程引用了其他的外部jar時,由于eclipse不支持同時導(dǎo)出外部jar包的功能,所以比較麻煩一點;具體步驟如下:
生成manifest file:選中工程--->右鍵,Export--->Java--->JAR file--->選擇jar file的路徑及名稱--->next--->next--->next;