一、如何把.class文件生存jar包?
通常的做法是在Eclipse里面直接將項目導出為編譯好后的jar包等,例如File→Export→JAR(Runable)即可。但是某些個場景,只修改了單個的class文件等需要放到另外的環境中去測試等,這里介紹另外一種方法是在windows里面的dos里面直接將class文件打包成可執行的jar包,具體就是進入dos操作窗口,cd進入到需要打包的class文件夾里面:jar cvf [生成jar的名稱.jar] [列出class文件] 。
1.0、操作零散的單個或幾個class文件
首先在D:\javatemp\classdemo文件夾里面有Hello.class,cmd進入到該目錄下執行如下語句
回車后執行得到對應的Hello.jar的jar文件:
2.0、把一個文件夾下面的所有class文件打成jar包
3.0、生存可執行的jar文件(main入口函數)
編譯的class文件中必須有main入口函數的類方能生成可執行jar包。例如pulic static void main(String[] args){}
生存的步驟方法如下
3.1、用上面的方法把class與相應的結構目錄打成jar包
3.2、解壓這個jar包到當前目錄
3.3、編輯META-INF/MANIFEST.MF,給jar包指定程序入口main函數,內容為
Manifest-Version: 1.0
Created-By: 1.5.0_06 (Sun Microsystems Inc.)
Main-Class: Hello
3.4、再用winzip把這些文件壓縮成jar格式包,或者壓成zip包,再改后綴名為jar也可(看來這種方法很不給力啊)
另外一種生存的方法(推薦)
3.5、cmd操作窗體中進入class文件的根目錄,之所以說根目錄,是因為下面其下面還可以有很多文件包(夾);
3.6、在此目錄准備好一個manifest.mf文件,其內容為
Manifest-Version: 1.0
Created-By: 1.5.0_06 (Sun Microsystems Inc.)
Main-Class: Hello
3.7、最后用命令: jar cvfm hello.jar manifest.mf *
4.0、測試可執行jar包.用命令:java -jar Hello.jar
5.0、jar選項基本參數定義
-c 創建新的存檔
-t 列出存檔內容的列表
-x 展開存檔中的命名的(或所有的〕文件
-u 更新已存在的存檔
-v 生成詳細輸出到標准輸出上
-f 指定存檔文件名
-m 包含來自標明文件的標明信息
-0 只存儲方式;未用ZIP壓縮格式
-M 不產生所有項的清單(manifest〕文件
-i 為指定的jar文件產生索引信息
-C 改變到指定的目錄,並且包含下列文件:
PS:如果一個文件名是一個目錄,它將被遞歸處理。
清單(manifest〕文件名和存檔文件名都需要被指定,按'm' 和 'f'標志指定的相同順序。