windows下打包java程序爲帶jre的可執行文件

  windows下打包java程序爲帶jre的可執行文件 
   在這個製作過程中主要利用了Borland不公開的使用技巧,就是能夠通過JBuilder來製作exe文件來啓動Java文件。 (在網上可以查到具體的文章,可以見---JBuilder9製作EXE文件--)

    JBuilder並不支持本地編譯機制。但是有一個隱藏的技巧可以讓你從可執行文件來啓動Java 程序,可以出現或者不出現console窗口。需要JBuilder的bin目錄下的這些文件: JBuilder.exe JBuilderW.exe  JBuilder.config jdk.config 。“JBuilder.exe”是一個通用的可執行外殼文件,用以啓動Java程序,"JBuilderW.exe"好像是javaw.exe一樣,它把"JBuilder.exe"包裝起來運行時候不顯示那個conso le的窗口。使用這些文件的關鍵是文件名。"JBuilder.exe"查找一個文件叫"JBuilder.config"的配置文件,裏面包含了運行Java程序的必須信息。

   同上,先將JBuilder的bin目錄下 JBuilder.exe,JBuilderW.exe,JBuilder.config,jdk.config 這三個文件拷貝到一個新文件夾中,我的是importdata。此外還有一個文件是 config_readme.html 也拷貝出來 ,這個文件說明了修改配置文件的一些參數語法。

    然後再找安java的主目錄下的jre文件夾,將jre文件一併拷貝到  importdata 中,然後再找lib文件夾下的tool.jar文件拷貝到 importdata/jre/lib中(最安全的辦法就是將java的主目錄下lib的全部內容都拷貝到importdata/jre/lib)。如果還引入了其他的類庫一併將那些類庫的*.jar 文件拷貝到importdata/jre/lib中。這樣java的運行環境就有了。

    將你做的程序生成.jar包,執行過程:

     jar cvf importdata.jar importframe/*.class

    importframe是我編譯好的.class文件所在的文件夾,打包爲importdata.jar 文件


     接下來就是修改配置文件。(用文本編輯器打開jdk.config和JBuilder.config)

     jdk.config 修改 

        查找 javahome    ../jdk1.5/       改爲 ./jre/

        查找 addpath ../jdk1.5/lib/tools.jar     改爲  ./jre/lib/tools.jar

    其他不需要更改

    JBuilder.config 修改

    # Add any configuration files located in the patch directory
    includedir ../patch

   如果這句保留  這句的話則將 includedir ../patch 改爲 includedir ./patch 並在當前目錄中建一個 patch 文件夾;不保留則 在includedir ../patch加 #。(A comment can be added using the "#" sign:  # This is a comment )

   # Enable peer to peer debugging
   addpath ../lib/jdi-extension.jar

   # Enable HotSpot Serviceablity Agent
    include sa.config

   這兩行刪掉或註釋掉(加#)

   加入 addpath ./importdata.jar 即加入打包的importdata.jar 文件(必須)

  查找 # Make sure that DLL's in the lib directory also get picked up
   addlibpath ../lib

   改爲addlibpath ./jre/lib

查找

# Add all JAR files located in the patch, lib and lib/ext directory
addjars ../patch
addjars ../lib
addjars ../lib/bes
addjars ../lib/servers
addjars ../lib/p2p
addjars ../lib/ext

改爲

# Add all JAR files located in the patch, lib and lib/ext directory
addjars ./jre/lib
addjars ./jre/lib/ext
addjars ./jre/lib/im
addjars ./jre/lib/security

如果前面時候你保留了includedir ./patch  則在這邊加入 addjars ./patch

最後 查找

     # Start JBuilder using the main class
     mainclass com.borland.jbuilder.JBuilder 

    改爲

     # Start JBuilder using the main class
     mainclass importframe.ImportData

   這句話是確定要java執行時的開始類的位置mainclass,我這得程序爲importframe.ImportData爲主程序。

其他的也可以改 也可以不改。具體的語法見config_readme.txt的詳細說明(建議將沒用的去除)。

   如何利用JBuilder.exe來啓動應用程序?只要把JBuilder.exe,JBuilerW.exe,JBuilder.config改名成相應的文件名,在JBuilder.config裏面指定主類和類路徑,就能夠通過執行JBuilder.exe(或者被改名後的exe文件)來啓動Java應用程序了。

   我這裏將 JBuilder.exe和JBuilderW.exe改爲import.exe,importw.exe 相應的配置文件改爲JBuilder.config改爲import.config

    到此爲止 ,你可以雙擊importw.exe 開啓你的java程序了。此時你可以將做好的程序放到沒有java運行環境的機器上試試。是不是大功告成了?如果沒成功可以在命令窗口運行import.exe看看是什麼錯誤然後修改配置文件就可以了。

最後要說一點就是修改那個importw.exe 的圖標。做好一個程序不能還用JBuilder的圖標 那樣多不爽阿 ,要修改只能藉助其他的軟件了,我推薦一個叫ResHacker軟件。

下載地址http://www.angusj.com/resourcehacker/ 

具體用法見幫助 據說這款軟件很牛。

下載自己想要的圖標,利用來替換importw.exe或import.exe圖標。

我感覺運行這兩個文件也沒多大的區別。

到此爲止了,就這樣就配置好了一個帶jre的可執行文件。

如有什麼問題,可以留言 。一起討論一下!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章