Java如何實現將類文件打包為jar包
將類文件打包為jar包
為實際項目寫瞭一個工具類,但是每次使用時都需要打開項目點擊運行。突然想,不如將這個類打成jar包這樣後續就可以直接運行瞭。
說做就做。
1.寫類文件
大概就這麼個樣子。
註意,這裡用到瞭外部依賴,也就是為什麼要寫這篇文章的原因。
本例中的外部依賴包為:commons-codec-1.14.jar
2.編譯
javac -encoding UTF-8 -classpath .;./commons-codec-1.14.jar -d . CipherTest.java
或者:
javac -encoding UTF-8 -cp .;./commons-codec-1.14.jar -d . CipherTest.java
- encoding 防止中文亂碼
- -classpath 指定class文件路徑
- -d . 會在當前執行目錄下生成 一個java所在的包名的(這裡我的是test)目錄,以及編譯後的class文件
- 指定要被編譯的java文件
這樣就編譯為class文件瞭
3.測試
java -cp .;commons-codec-1.14.jar CipherTest 11 22 33
- -cp 指定依賴包,多個用;分割
- CipherTest: 是運行的主類,後面跟著命令行參數
這樣測試就通過瞭。
4.打jar包
jar -cvf cipher.jar CipherTest.class
執行運行,發現找不到主類。解壓查看jar包內容如下:
進入META-INF查看文件:
接下來對這個文件進行處理:
添加字段:
添加:
Main-Class: CipherTest
註意冒號後面有個空格,這個是指定主類,即啟動類。
Class-Path: commons-codec-1.14.jar
指定依賴包,默認jar包根目錄,有多個依賴的話,Windows用;分隔。Linux用空格分隔。
之後將依賴包拖入jar包。
最終目錄結構:
最後運行jar包,正常工作。
jar包應該怎麼打?
1.首先確保你的項目
能正常啟動並運行
2.選中你的項目,點右鍵
選export(導出),如下圖:
3.選擇runnable jar file
下一步,如下圖:
4.如下圖,直接看圖
5.然後點finish
後面一路過,不用管警告,一直點OK!
執行完這5步,在自己上面選擇的路徑下面就會有相應的jar包生成,如下圖:
下面,我們來詳細說明一下兩種打jar包的方式有什麼區別
首先,用自己的壓縮工具打開剛才打成的jar包,可以看到一個MANIFEST.MF文件,如下圖:
打開它之後的部分信息如下:
可以看到,這種方式把引用的jar包和自己的jar包都混合到瞭一起!(把需要的jar包和庫提取到jar裡)
再看另一種方式:
這種方式打成jar包後如下圖:(將需要的jar包和庫提取到子目錄中)
兩種方式都能正常啟動,隻是方式不一樣!!!
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- java編譯命令基礎知識點
- 一篇文章帶你入門Java基本概念
- Java 中 Class Path 和 Package的使用詳解
- Java tomcat手動配置servlet詳解
- 關於Java錯誤提示之找不到或無法加載主類的問題及正確處理方法