1. 程式人生 > >java project 釋出成為可執行檔案exe

java project 釋出成為可執行檔案exe

全文分為兩部分: 1. java工程打包exe ;2. 不依賴java虛擬機器執行 

一、匯出jar檔案: 

如果你的程式開發已經接近尾聲了,正準備將其生成桌面可執行檔案卻不知道該如何操作時,你只要按照以下步驟實行即可:選中你的專案---然後右擊彈出選項列表---選擇Export---Java---jar file---next---browser(選擇jar的存放路徑)---next---next(不管太多繼續下一步)---browser(選擇你程式的主類--OK)---finish;檢視你存放jar的目錄,是否已經生成了?如果沒有你一定沒按照步驟操作. 

二、執行jar檔案: 

生成的jar檔案你可以雙擊執行它,但預設情況下會以壓縮包的方式開啟,如果這不是你想要的結果,請右擊檔案---開啟方式---選擇java(TM)platform來執行.我想這時你應該看到了你的軟體介面.先恭喜你了.. 

三、連同第三方檔案一併匯出至jar檔案:

方法一:

如果自己的java project中需要引用額外的jar包作為資原始檔,那麼需要自己自定義配置檔案MANIFEST.MF ,內容示例如下:

Manifest-Version: 1.0
Class-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
Main-Class: src.YourMainClassName

其中的Class-Paht就指定了外來jar包的位置。請注意假設我們的專案打包後為project.jar,那麼按照上面的定義,應該在 project.jar的同層目錄下建立一個lib資料夾,並將相關的jar包放在裡面。否則將會出現Exception in thread "main" java.lang.NoClassDefFoundError的錯誤。

最後介紹一下使用Eclipse製作jar包的過程吧:

1. 首先在Eclipse中開啟專案, 右鍵點選專案,選擇“Export”;

2. 選擇Java/JAR file,Next;

3. Select the resources to export中可以選擇你想要包含的專案資料夾,一些不必要的資料夾就無需放進去了,免得增大空間;

這裡有幾個選項:

    * 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 把一些重構的資訊檔案也包含進去

在Select the export destination中選擇匯出的jar的路徑,Next

4. 下一頁可以選擇是否匯出那些含有警告warning或者錯誤errors的*.class檔案。一般不用理他,Next

5. 下一個頁面裡可以對專案做一些配置。

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

最後Finish,搞定。

 方法二:

如果你在程式開發的時候用到了第三方提供的API或者其它附屬資源,在你匯出生成jar檔案時你必須將第三方的檔案一併匯出,不然你的程式執行將達不到你想要的結果. 

你可以利用Fat jar外掛生成jar,Fat jar 的下載地址:http://sourceforge.net/projects/fjep/ 下載的檔案是net.sf.fjep.fatjar_0.0.31.zip,解壓縮後你會看到plugins資料夾中的net.sf.fjep.fatjar_0.0.31.jar檔案(簡稱Fat jar). 

外掛安裝:把Fat jar檔案拷貝到你的eclipse目錄下的plugins中..重新啟動你的eclipse平臺,然後檢視Window---preferences,彈出的視窗中有Fat jar preferences這一項則說明你已經安裝成功了,沒有這一項則未安裝成功,需要多做如下幾步操作:到你的eclipse目錄下的configuration---org.eclipse.update,並刪除platform.xml檔案,然後重新啟動eclipse.檢視Window---preferences,你會發現Fat jar preferences這一項.恭喜你安裝成功了.(未成功可直接去牆撞死).. 

用Fat jar打包:右擊你的專案,選項列表中有Build Fat jar這一項,選擇它,彈出的視窗你會覺得特別親切,一目瞭然使用很方便,點選Browser(Main-Class選擇你的主類)---next---finish(勾選你需要一起打包的資源,預設為全部勾選).瞧,jar檔案就生成在你的工程專案中了.執行它,一切順利,否則就是你程式設計的問題了.. 

另:如果你不想用Fat jar來打包,有一個更快捷的方法可以幫助你,但也是有缺陷的. 

步驟:將你需要用到的附屬檔案放到你的jre安裝目錄下的\lib\ext目錄中(安裝JDK的同時也安裝了jre),再通過(一、匯出jar檔案)的方式生成jar.這樣就可以了.它有個致命的缺點就是,這樣的jar檔案只能在你本機可以使用,如果要在別的機子上執行必需在\lib\ext放置同樣的附屬資源. 

四、將jar檔案轉換成exe可執行檔案: 

exe檔案使用方便,而且還可以提高原始碼及資源的安全性,但同時也失去了java的初衷--跨平臺性. 

如果你堅持要轉換成exe檔案,請按以下方式進行: 

利用exe4j這個軟體轉換jar檔案為exe檔案,exe4j下載地址:http://www.ej-technologies.com/download/exe4j/files.html,(目前最新版本為4.2)http://download.csdn.net/source/2393519有的需要安裝,有的只要解壓縮即可用.我一般用安裝的exe4j軟體,它們沒有什麼區別,因此找個可以用的就行了.下載安裝後,執行它,接著按步驟操作: 

1.執行後直接點Next. 

2.選擇第二項“JAR in EXE mode”,之後點選Next. 

3.在General---Short name of your application框中輸入你的應用程式的名字(隨便即可),在Directories---Output directory框中輸入生成exe後的儲存路徑,然後Next. 

4.在Excutable name框中輸入將要生成的exe的名字,“Icon File”是應用程式顯示的小圖示,不選也行.繼續Next. 

5.必須先配置Class-Path,點選+號新增檔案,即jar檔案,如果有用到其它資源需要把資源一起新增進去. 

6.General --- Main Class選擇主類. 

7.Java Version --- Minimum version(低版本必須填寫),Maximum version(高版本可以為空),如果都有填寫那麼高版本的值必須大於低版本的值. 

8.勾選Allow JREs with a beta version number以及Only allow JDKs and no JREs.接著Next.到這一步你可以直接finish.這樣就把jar轉換成exe檔案了.你可以點選Click Here to Start the Application按鈕測試生成的檔案. 

到這裡就完畢了,對你有沒有幫助呢?我想多少解決一些人的煩惱是有的.. 

2. 如何不依賴java虛擬機器在別的電腦上執行

本人想將一個java小程式打包成.exe的形式,並讓它能在沒有裝jvm的機器上執行。在網上查了好多資料總算成功了,感謝網路,阿門!!!現將方法貼出來。

    一、首先下一個exe4j 。它是一個幫助你整合Java應用程式到Windows操作環境的java可執行檔案生成工具。

    “1、exe4j是不可以將jre直接打包進exe中去的。但exe4j提供了一個搜尋jre路徑,這個路徑可以是系統的環境變數,也可以是登錄檔,也可以是具體的某路徑。
由於要實現在沒有jvm的電腦上執行,搜尋環境變數與登錄檔自然是無用功的了,所以只能搜某路徑的。把jre的路徑,加進去,就行了。但要注意一點:不然用絕對路徑哦。我之前就是用絕對路徑,導致無效的,而走了彎路的。比如可以用:./jre

2、打成安裝包時,要將生成的exe檔案與jre一起打包。為了確認打完包,可以用,在沒打包之前,點該exe檔案,要確認能執行,不然打包要白忙了。

   二、 這是我的程式檔案的截圖:

    

    那個tank.jar  是用MyEclipse 將程式匯出的jar檔案,jre 就是你的機子上安裝的jre目錄(JDK裡面)直接拷過來的。你要想讓你的程式在別人沒裝jre的機器上執行,就得把jre拷到你的專案下。

    三、在用exe4j的時候,關鍵就是設定jre那步

    

    點選 Search sequence後

    把這些預設的查詢目錄去掉,點綠色的“+”,

    

    把你拷到專案下的jre選上。這樣下去一直點下一步,基本就ok了。

     

    可以看到我的目錄下多了個它生成的 MyTank.exe。

    把這下面的所有東西用WINRAR打包,到別人沒有jvm的機子上,解壓,雙擊就可以運行了。我之前很SB地只把那個.exe檔案拷過去,怎麼也執行不了,呵呵(連jre都沒有,怎麼執行?所以剛才那個配置jre的過程就是讓它能找到jre,你自帶的jre)。

    四、  我用winrar打包後大小是31.8M ,然後我又試了試用Inno SetUp 將它打包成一個安裝包,大小是20.1M。

    Inno  SetUp的使用很簡單,不過我還是犯了一個錯誤,

    

    在下面的“其他應用程式檔案”中,只需要選“新增資料夾”,選擇你的專案的根目錄,在彈出的“是否將子資料夾中的檔案也包括在內”對話方塊選是,就可以了。我之前點“新增檔案”,然後把目錄下的檔案都選擇,匯出得到的.exe檔案雖然也是20.1M,卻不能執行。我檢查了一下,新增檔案的時候沒有把專案下的資料夾新增進去,於是我又點“新增資料夾”,把資料夾也加進去,結果還是不行。記住了!!!只需要選“新增資料夾”,選擇你的專案的根目錄就行