1. 程式人生 > >將eclipse java程式打包成jar的總結(包括工程中沒有引用外部jar包和有引用外部jar包兩種情況)

將eclipse java程式打包成jar的總結(包括工程中沒有引用外部jar包和有引用外部jar包兩種情況)

一.當eclispe java工程中沒有引用外部jar包時:

選中工程---->右鍵,Export...--->Java--->JAR file--->next-->填寫jar file的路徑及名稱-->next-->next---> 填寫main class--->finish,然後就在相應的目錄下得到jar file檔案!

     然後可以在cmd命令列下執行:java -jar 存放路徑\SortAndFrequency.jar >存放路徑\log.txt

即可正確執行,並且能夠在log.txt檔案中得到程式中的輸出資訊(log.txt是一個日誌檔案)。

     然而這種執行jar程式的方法有點麻煩,較簡便的方法是在得到的jar file的同級目錄下寫一個run.bat批處理檔案,內容為:java -jar SortAndFrequency.jar >log.txt (由於是同級目錄,所以都不用寫絕對路徑!!)

二.當eclispe java工程中有引用外部jar包時:

當工程引用了其他的外部jar時,由於eclipse不支援同時匯出外部jar包的功能,所以比較麻煩一點;具體步驟如下:  1.生成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的名稱,如/Property_Calculate_0701/main,(其中Property_Calculate_0701為工程名,main為manifest file的名稱)點選finish,回到工程,開啟剛剛生成的main,在這裡要輸入如下資訊:

Manifest-Version: 1.0 

Main-Class: VideoOntology.Property_Calculate

Class-Path: extralib.jar sqljdbc4.jar

 其中,Manifest-Version: 1.0為剛剛自動生成的manifest版本號; 

Main-Class: VideoOntology.Property_Calculate為main class所在類; 

Class-Path: extralib.jar sqljdbc4.jar為外部jar包名稱,這裡是告訴匯出的jar包所要用到的外部的jar包的路徑及名稱。

特別注意:多個jar必須在一行上,且以空格隔開

上面都做完了就可以匯出帶外部jar包的jar包了,步驟如下:  選中工程--->右鍵,Export--->Java--->JAR file--->選擇jar file的路徑及名稱--->next--->next--->next,這時又來到了選擇main class的視窗,但這裡也不選擇main class,選擇Use existing manifest from workspace,在Manifest file:裡選擇剛剛生成的main,如:/Property_Calculate_0701/main,點選finish,到此就大功告成啦;假設生成的jar包的名稱為Property_Calculate.jar,那麼Class-Path中引入的extralib.jar 和sqljdbc4.jar要和Property_Calculate.jar位於同一個目錄下。

完成後依然可以在生成jar包的同級目錄下建立run.bat批處理檔案:

java -jar Property_Calculate.jar >log.txt

(如果要執行的程式需要的記憶體空間很大,並且需要向java程式裡傳入命令列引數,可以加入設定虛擬機器記憶體引數和傳入命令列引數的設定,例如:java  -Xms1536m  -Xmx1536m -jar SqlSearchInfo.jar video 笑傲江湖 E: >log.txt)

執行之,大功告成!

注意: 當程式用到了外部的dll,打成jar後需要把用到的dll放到jar包的同級目錄才能正常執行!!!!

補充:

如果引入的外部jar包太多,在Class-Path:中寫下一個個的外部jar包太麻煩,這時可以使用一個打包的外掛:fat jar。可以方便的完成各種打包任務,可以包含外部的包等 。呵呵!很好用。

下載fatJar外掛,解壓縮後是一個.../plugins/(net...)把plugins下面的(net..)資料夾拷貝到eclipse的plugins下,重新啟動Eclipse,Windows=>prefernce=>fat jar preference看到他就說明已經安裝成功了。如果沒有看到,沒有關係,刪除D:/eclipse/configuration/org.eclipse.update/platform.xml檔案(此檔案可以自動生成)不用擔心以前的外掛會因此而消失,沒事。 剛開始找不到如何使用它,後來看到你的專案=〉Export..=>嚮導裡有fat jar =>使用起來真的很方便。 總結:一般把src打包export=>Jar File 即可。想把src附屬的資源一起打包,必須使用FatJar => export..=>FatJar.

fatJar這外掛打包的時候可把用到的第三方的JAR包也一起打到目標JAR中。

        打包方法,圖解。

       開始:在你的工程專案裡右鍵彈出下圖:

然後Buile Fat Jar出現下圖:

    

再然後就Next了,又出現下圖:

再然後就沒了。在桌面上找到剛剛打包的libr.jar雙擊,終於成功了,酷啊!!!!