1.在dos下面打包jar文件
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目錄] 文件名 ...
選項:
-c 創建新的存檔
-t 列出存檔內容的列表
-x 展開存檔中的命名的(或所有的〕文件
-u 更新已存在的存檔
-v 生成詳細輸出到標準輸出上
-f 指定存檔文件名
-m 包含來自標明文件的標明信息
-0 只存儲方式;未用ZIP壓縮格式
-M 不產生所有項的清單(manifest〕文件
-i 為指定的jar文件產生索引信息
-C 改變到指定的目錄,
在命令行中運行剛剛生成的jar,命令如下:
java -jar test.jar
如果在jar中有一些System.out.prinln語句,運行后想看看打印出的內容,可以用一下命令:
java -jar test.jar >log.txt
輸出信息會被打印到log.txt中,當然log.txt自動生成,并位于和test.jar一個目錄中。
這里也可以新建一個start.bat文件,創建后;右鍵---編輯,輸入:java -jar test.jar >log.txt;以后直接雙擊start.bat即可運行test.jar啦。
注意,如果你是在文件導出放在如:E盤,則你需要導入得包也要放在這個目錄里。
如果一個文件名是一個目錄,它將被遞歸處理。
清單(manifest〕文件名和存檔文件名都需要被指定,按 'm ' 和 'f '標志指定的相同順序。
示例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通過導出的方式(右鍵單擊項目,之后選擇Export)打包java類文件生成jar包。
方法一:(在項目工程沒有引用外部jar包時,直接導出)
方法二:
當工程引用了其他的外部jar時,由于eclipse不支持同時導出外部jar包的功能,所以比較麻煩一點;具體步驟如下:
生成manifest file:選中工程--->右鍵,Export--->Java--->JAR file--->選擇jar file的路徑及名稱--->next--->next--->next;
此時來到了方法1中要選擇main class的窗口,但這里先不選擇main class,選擇最上方的Generate the manifest file, 勾上Save the manifest in the workspace,在Manifest file:中輸入file的名稱,如/testProject/main,(其中testProject為工程名,main為manifest file的名稱)點擊finish,回到工程,打開剛剛生成的main,在這里要輸入如下信息:
Manifest-Version: 1.0
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties
Class-Path: jxl.jar
其中,Manifest-Version: 1.0為剛剛自動生成的manifest版本號;
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties為main class所在類;
Class-Path: jxl.jar為外部jar包名稱,這里是告訴導出的jar包,所要用到的外部的jar包的路徑及名稱。
上面都做完了就可以導出帶外部jar包的jar包了,步驟如下:
這里還有一點要注意:
如果想在命令行中運行剛剛生成的jar,命令如下:
java -jar test.jar
如果在jar中有一些System.out.prinln語句,運行后想看看打印出的內容,可以用一下命令:
java -jar test.jar >log.txt
輸出信息會被打印到log.txt中,當然log.txt自動生成,并位于和test.jar一個目錄中。
新聞熱點
疑難解答