天天看點

Java項目導出為jar包,并在windows/linux下運作

java項目導出為jar包,項目檔案結構:

Java項目導出為jar包,并在windows/linux下運作

在你的項目的根目錄下建立一個檔案:manifest.mf和一個lib檔案夾(該檔案夾放的是用的第三方包)。檔案内容是這樣的:

manifest-version: 1.0

main-class: test.deltamakeindextest  (此處需要根據main函數所在類做相應修改,包名.類名 格式)

class-path: ./ ./lib/sqljdbc.jar ./lib/ikanalyzer3.2.3stable.jar ./lib/lucene-analyzers-3.5.0.jar ./lib/lucene-core-3.6.0.jar  (列出全部用到的第三方包)

(這裡還有一個空行)

關于具體的manifest.mf如何編寫可以參考該部落格:http://soulshard.iteye.com/blog/346453

然後開始把項目用jar包的形式導出來。

Java項目導出為jar包,并在windows/linux下運作
Java項目導出為jar包,并在windows/linux下運作
Java項目導出為jar包,并在windows/linux下運作

導出來以後,把藏有第三方jar包的lib檔案夾和我剛才導出來的jar包放在同級目下面。

若在windows下,可以寫個run.bat檔案,内容為java -jar  wip.jar ,打開cmd用cd切換到所在jar包的目錄,運作run即可。

Java項目導出為jar包,并在windows/linux下運作

若在linux下,可以寫個run.sh檔案并設定可運作權限,内容為java -jar  wip.jar ,同樣用cd切換到所在jar包的目錄,運作./run.sh即可。

Java項目導出為jar包,并在windows/linux下運作

若遇到outofmemoryerror:java heap space錯誤,可以設定參數-xms512m -xmx1024m 

-xms <size>

設定jvm初始化堆記憶體大小

-xmx <size>

設定jvm最大的堆記憶體大小

若遇到java.lang.outofmemoryerror: gc overhead limit exceeded錯誤

可設定參數-xx:-usegcoverheadlimit

參考:http://blog.csdn.net/wangxiaolongbob/article/details/7629458