本文目錄一覽:
如何將java程序打包成jar
1、首先要確認自己寫的程序有沒有報錯。
2、第一次我寫的是Web Project到現在,我一直沒有執行成功,所以最好創建的是java Project
打包步驟:
1.在項目上,右鍵,選擇Export。
2.進入到下圖界面,選擇Java 下面的JAR file
3.選擇項目,確認必要的文件是否選中,選擇保存jar文件包的路徑,如下圖
4.完成步驟3之後,點擊Next,進入如下圖界面:
5.直接點Next,進入下面的界面:
6.直接點Finish,jar文件包完成。
備註:
1.可以根據自己的需要選擇一些條件。
2.打開jar文件包下面的META-INF\MANIFEST.MF這個文件,查看信息是否正確。
Class-Path:這個導入的是,本項目需要的一些其他的jar文件包
Main-Class:這個是main()方法所在的類的.class文件的路徑,並且在最後有個回車符(如:上面顯示的是,main()方法在test包下面的PostgresSQLSync類中。)
在windows下面運行jar包,確認導出的jar包是否存在問題:
1.打開DOS命令:通過cd切換到本項目路徑下,然後,輸入java -jar xxx.jar。
如果輸入的信息,和運行項目時,在控制台輸出的信息一樣,就表示jar文件包已經完成。
下面是我碰到的一些問題:
1.在DOS命令中,出現如下錯誤時,表示Main-Class沒有在META-INF\MANIFEST.MF這個文件中配置。
2.在DOS命令中,出現如下錯誤時,表示在Class-Path:或者在Main-Class:後面沒有輸入空格。
Eclipse如何將Java項目打包成jar包?
如果自己的java project中需要引用額外的jar包作為資源文件,那麼需要自定義配置文件MANIFEST.MF ,例如:\x0d\x0aManifest-Version: 1.0\x0d\x0aClass-Path: lib\crimson.jar lib\jbcl.jar lib\junit.jar lib\log4j-1.2.13.jar lib\mysql-connector-java-3.1.13-bin.jar\x0d\x0aMain-Class: src.YourMainClassName\x0d\x0a其中的Class-Path就指定了外來jar包的位置。請注意假設我們的項目打包後為project.jar,那麼按照上面的定義,應該在 project.jar的同層目錄下建立一個lib文件夾,並將相關的jar包放在裡面。否則將會出現Exception in thread “main” java.lang.NoClassDefFoundError的錯誤。\x0d\x0a如果想在所導出的jar包中包含第三方jar包,可以如下操作:\x0d\x0a1.在工程目錄下放入第三方jar包\x0d\x0a2.Class-Path: name.jar\x0d\x0a上訴兩個步驟就可以成功導出引用了jar包的java工程,並將第三方jar包放在導出的工程中\x0d\x0a注意:如果在Class-Path 中引入比較多的jar包,不要寫成一行,不然會報:java.io.IOException : line too long ,需要分多行寫,第二行以及下面的第三行、第四行寫的時候需要在前面空兩格(敲兩下空格鍵)即可\x0d\x0a最後介紹一下使用Eclipse製作jar包的過程吧:\x0d\x0a1. 首先在Eclipse中打開項目, 右鍵點擊項目,選擇“Export”;\x0d\x0a2. 選擇Java/JAR file,Next;\x0d\x0a3. Select the resources to export中可以選擇你想要包含的項目文件夾,一些不必要的文件夾就無需放進去了,免得增大空間;\x0d\x0a這裡有幾個選項:\x0d\x0a* Export generated class files and resources 表示只導出生成的.class文件和其他資源文件\x0d\x0a* Export all output folders for checked projects 表示導出選中項目的所有文件夾\x0d\x0a* Export java source file and resouces 表示導出的jar包中將包含你的源代碼*.java,如果你不想泄漏源代碼,那麼就不要選這項了\x0d\x0a* Export refactorings for checked projects 把一些重構的信息文件也包含進去\x0d\x0a在Select the export destination中選擇導出的jar的路徑,Next\x0d\x0a4. 下一頁可以選擇是否導出那些含有警告warning或者錯誤errors的*.class文件。一般不用理他,Next\x0d\x0a5. 下一個頁面里可以對項目做一些配置。\x0d\x0a* Generate the manifest file是系統幫我們自動生成MANIFEST.MF文件,如果你的項目沒有引用其他class-path,那可以選擇這一項。\x0d\x0a* Use existing mainfest from workspace。這是可以選擇我們自定義的.MF文件,格式如上所寫。\x0d\x0a* Seal content。要封裝整個jar或者指定的包packet\x0d\x0a* Main class。這裡可以選擇你的程序入口,將來打包出來的jar就是你這個入口類的執行結果。\x0d\x0a最後Finish 完成
JAVA項目導出成.jar包的方法。
命令行
用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] file
s …
選項包括:
-c 創建新的歸檔文件
-t 列出歸檔目錄
-x 解壓縮已歸檔的指定(或所有)文件
-u 更新現有的歸檔文件
-v 在標準輸出中生成詳細輸出
-f 指定歸檔文件名
-m 包含指定清單文件中的清單信息
-e 為捆綁到可執行 jar 文件的獨立應用程序
指定應用程序入口點
-0 僅存儲;不使用任何 ZIP 壓縮
-M 不創建條目的清單文件
-i 為指定的 jar 文件生成索引信息
-C 更改為指定的目錄並包含其中的文件
如果有任何目錄文件,則對其進行遞歸處理。
清單文件名、歸檔文件名和入口點名的指定順序
與 “m”、”f” 和 “e” 標誌的指定順序相同。
示例 1:將兩個類文件歸檔到一個名為 classes.jar 的歸檔文件中:
jar cvf classes.jar Foo.class Bar.class
示例 2:使用現有的清單文件 “mymanifest” 並
將 foo/ 目錄中的所有文件歸檔到 “classes.jar” 中:
jar cvfm classes.jar mymanifest -C foo/ .
java文件,導出jar包,是不是必須要有主類?
這要看你需求,如果是可執行jar,即發布用的,必須要指定帶有main方法的類,即啟動類,如果是外部jar,就不需要了,因為項目中引用後只是用jar包裡面的類和方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/308536.html