1. 程式人生 > >關於在做Java專案的時候如何把第三方的jar包一起打包成jar檔案

關於在做Java專案的時候如何把第三方的jar包一起打包成jar檔案

步驟1:準備主清單檔案 “MANIFEST.MF”,

由於是打包引用了第三方jar包的Java專案,故需要自定義配置檔案MANIFEST.MF,在該專案下建立檔案MANIFEST.MF,內容如下:

Manifest-Version: 1.0
Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.2.16.jar lib/jackson-all-1.8.5.jar
Main-Class: main.KillCheatFans

第一行是MAINIFEST的版本,第二行Class-Path就指定了外來jar包的位置,第三行指定我們要執行的MAIN java檔案。

這裡要注意幾點:

1、Class-Path: 和Main-Class: 後邊都有一個空格,必須加上,否則會打包失敗,錯誤提示為:Invalid header field;

2、假設我們的專案打包後為KillCheatFans.jar,那麼按照上面的定義,應該在 KillCheatFans.jar的同層目錄下建立一個lib資料夾(即lib檔案和打包的jar檔案
在同一個目錄下),並將相關的jar包放在裡面。否則將會出現“Exception in thread "main" java.lang.NoClassDefFoundError”的錯誤;

3、Main-Class後面是類的全地址,比如你的主檔案是KillCheatFans.java,檔案裡打包為package com.main; 那麼這裡就寫com.main.KillCheatFans,//切記這一點
不要加.java字尾,主檔案地址寫錯將會出現“找不到或無法載入主類”的錯誤;

4、寫完Main-Class後一定要回車(即最後一行是空白行),讓游標到下一行,這樣你生成的jar包才能找到你的主class去執行,

否則將會出現“jar中沒有主清單屬性”的錯誤。

步驟2:右擊Java工程選擇Export—>選擇JAR file—>Next

 

步驟3:選擇要打包的檔案,不需要的檔案不必打包,減小打包後的jar檔案大小,並進行選項配置如下

這裡有幾個選項:

* Export generated class files and resources 表示只匯出生成的.class檔案和其他資原始檔
* Export all output folders for checked projects 表示匯出選中專案的所有資料夾
* Export java source file and resouces 表示匯出的jar包中將包含你的原始碼*.java,如果你不想洩漏原始碼,那麼就不要選這項了
* Export refactorings for checked projects 把一些重構的資訊檔案也包含進去

步驟4:選擇我們在第一步中自定義的配置檔案路徑,這一步很重要,不能採用預設選項

 

這裡解釋一下配置項:

* Generate the manifest file:是系統幫我們自動生成MANIFEST.MF檔案,如果你的專案沒有引用其他class-path,那可以選擇這一項。
* Use existing mainfest from workspace:這是可以選擇我們自定義的.MF檔案,格式如上所寫,引用了第三方包時選用。
* Seal content:要封裝整個jar或者指定的包packet。
* Main class:這裡可以選擇你的程式入口,將來打包出來的jar就是你這個入口類的執行結果。

最後Finish,即生成了我們要的jar檔案。

執行該jar檔案有兩種方式:

1. 在命令列下執行命令java -jar 你的jar檔名稱,比如我的執行如下:

如果在jar中有一些System.out.prinln語句(如上執行結果),執行後不想在控制檯輸出而是儲存在檔案中方便以後檢視,可以用一下命令:
java -jar KillCheatFans.jar > log.txt (這時命令列視窗不會有任何輸出)
輸出資訊會被列印到log.txt中,當然log.txt自動生成,並位於和KillCheatFans.jar一個目錄中。

2. 新建一個批處理檔案,如start.bat,內容為:java -jar KillCheatFans.jar,放在jar檔案同一目錄下即可,以後點選自動執行即可,更加方便。

方案二:安裝Eclipse打包外掛Fat Jar

     方案一對於含有較多第三方jar檔案或含有第三方圖片資源等就顯得不合適,太繁瑣。這時可以使用一個打包的外掛—Fat Jar。

     Fat Jar Eclipse Plug-In是一個可以將Eclipse Java Project的所有資源打包進一個可執行jar檔案的小工具,可以方便的完成各種打包任務,我們經常會來打jar包,但是eclipse自帶的打包jar似乎不太夠用,Fat Jar是eclipse的一個外掛,特別是Fat Jar可以打成可執行Jar包,並且在圖片等其他資源、引用外包方面使用起來更方便。


安裝方法:

1. Eclipse線上更新方法
Help > Install New Software > Add,
name:Fat Jar
location:http://kurucz-grafika.de/fatjar

2. Eclipse外掛手動安裝方法
下載地址:http://downloads.sourceforge.net/fjep/net.sf.fjep.fatjar_0.0.27.zip?modtime=1195824818&big_mirror=0
將解壓出的plugins中的檔案複製到eclipse安裝目錄中的plugins目錄下,然後重啟eclipse即可。

使用方法:

步驟1:右擊工程專案選擇Buile Fat Jar

 

步驟2:配置jar檔案存放目錄,主Main檔案等,如下圖

 

步驟3:選擇所要用到的第三方jar包

 

最後Finish,即生成了我們要的jar檔案,十分方便。





相關推薦

關於在Java專案的時候如何第三方jar一起打包jar檔案

步驟1:準備主清單檔案 “MANIFEST.MF”, 由於是打包引用了第三方jar包的Java專案,故需要自定義配置檔案MANIFEST.MF,在該專案下建立檔案MANIFEST.MF,內容如下:

java 如何自己寫的淚打jar,如何放入classpath讓其他人可以使用

-c ima 技術 test 路徑 log spa images mage 定位到要打包的上一層路徑,執行jar -cvf test.jar *.*(輸入需要打包的內容,此為所有內容) 在你要打包的文件夾同級目錄下回生成該文件夾名字的jar包了 其他人使用時

Maven專案連同其依賴jar一同打jar,並執行入口類

需求: 在我本地的電腦上存在一個maven工程,在pom檔案中依賴了一些第三方jar包。現在需要把工程打成jar包,然後放到linux伺服器中執行。 因此i,現在就需要在打jar包的同時既要指定執行

【Maven jar打包單個或多個檔案,有依賴jar的將架一起打包一個jar供別的專案引用

之前有一片文章,是打包單個java檔案的。這次想要將http://www.cnblogs.com/sxdcgaq8080/p/8398780.html  打包成jar包,發現這個java檔案中引用了多個第三方的jar,想要單獨進行編譯都無法通過,更不要說打包成jar了。 所以就營運而生了這個需求,怎麼打包單

關於maven 插件依賴一起打包jar問題

java hdfs 自己的 編譯過程 location schema ase 網上 dir 今天在做storm on maven的時候發現要依賴到storm-hdfs的jar。自己又非常不想把亂七八糟的東西丟上自己的集群lib。於是就想maven 打包的時候把插件一塊打包進

python學習記錄之---------PYQT5工具(3)將python程式打包exe檔案

工具/版本(1)安裝環境:Windows7 64bit(2)使用版本Python3.6(3)pyqt5python檔案打包成exe格式,需要用到自帶的模組 pyinstaller一、pyinstaller安裝開啟cmd,輸入pip install pyinstaller回車,

Eclipse將引用了第三方jarJava專案打包jar檔案的兩種方法

方案一:用Eclipse自帶的Export功能 步驟1:準備主清單檔案 “MANIFEST.MF”, 由於是打包引用了第三方jar包的Java專案,故需要自定義配置檔案MANIFEST.MF,在該專案下建立檔案MANIFEST.MF,內容如下: Manifest-Version: 1.0 Clas

用命令編譯、執行java專案(多個原始碼,依賴第三方jar)

首先專案的結構採用eclipse嚮導生成的java-web結構,如下圖所示: (其中 Libraries中的hibernate是第三方的庫,位於D:\微雲同步盤\352172935\hibernate_class_tools\hibernate_min\目錄下) 編譯  

將Eclipse中Java專案打包jar並生成可獨立執行的exe檔案

目錄 1、準備工作 (1)JAR file和Runnable JAR file,它們的不同點在哪? The runnable jar contains a MANIFEST.MF file, which defines the Main class

java專案到處jar,轉.exe可執行檔案

需要使用的工具: eclipse,exe4j,iocFx2(製作ico圖示) 具體轉換步驟分為兩步: 一、將java專案到處成jar包; 二、將匯出的jar包轉換成exe可執行檔案; 步驟一:將jav

java專案打包jar,war,等 web工程打包jar war

今天boss給我一段原始碼,讓匯出一個包來給現場,和現場溝通後,現場需要war包 我就開始了百度之旅,用網上普遍的方法,發現總是報 這總錯,後來google發現一個dos命令的方式,匯出 詳細請見原文:http://shuyangyang.blog.51ct

Java專案增加第三方org.json com.alibaba.fastjson.JSON

使用json(org.json) rg.json的官網: http://www.json.org/java/index.html。 點選官網頁面的”Free source code is available”,即可轉到org.json在github的原始碼頁,點

java.java檔案打包jar

第一步就是要把.java檔案編譯成.class 使用到了第三方的包那麼需要下面命令 javac -cp c:\abc.jar;d:\efg.jar;  f:\Test.java(windows) javac -cp /home/xxx/xxx.jar:/home/xxx

java專案打包jar檔案方法

1.先寫好需要打包成jar的java方法 2.右鍵單擊專案,選擇Export 3.在Export視窗中,選擇java-->JAR file,點選"Next"按鈕 4.在JAR Expor

IDEA下maven編譯打包Java專案jar但是resource下配置檔案打包不成功

今天在IDEA下打包一個Java專案,準備打包成jar包直接執行,打包之後執行時候一直提示resource下資原始檔找不到,但我又確實配置了的,而且在IDEA上可以執行,但是打包成jar包之後就執行不了了。 後來百度,發現對於resource下檔案(prope

java專案打包jar並生成可獨立執行的exe檔案

專案要求,需要將java專案生成exe檔案,網上有許多文章,可有些直接複製,現將自己的整理出來: 一:思路: 1、將java專案打包成jar包 2、將jar包生成exe檔案 二:準備工作: jar檔案生成exe檔案用到第三方軟體:exe4j 本機上已安裝好jdk環境。

Java專案打包.Jar並設定Windows定時任務定時執行

在搞NC介面的時候,需要把程式碼打包成.Jar包,並能定時自動執行: 步驟如下: 1:把Java專案打包成jar包(通過Eclipse工具進行打包,過程省略!) 2:建立一個批處理檔案(bat檔案)

如何使用Eclipse將包含第三方jar庫的java工程打包jar

1、MANIFEST.MF 在工程下新建一個MANIFEST.MF的檔案,專案結構如下。 M.java package cn.hwd.main; import java.io.IOException; import org.apache.solr.client.sol

開源專案打包jar匯入到本地倉庫中

1. 把第三方依賴庫下載下來,根據自己想要的功能,修改相應內容。 2. 把修改後的專案打包成jar包(打包成jar,不在贅述),存到本地目錄下。 3. 把該jar包匯入到本地倉庫中: mvn inst

關於在eclipse下的mapreduce工程打包jar的問題(包含第三方jar

成功 sha mas 但是 關於 hadoop集群 日誌 方法 mapreduce 這個問題也是在開發項目中經常遇到的一個問題,網上提供了很多方法,但是我發現很多並不適用,這裏推薦兩種方法,一種肯定沒問題,就是比較麻煩,另一種是適用FatJar來打包,但是我沒成功,原因估計