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的可執行檔案。
如有什麼問題,可以留言 。一起討論一下!
相關文章
- Python 打包 windows 可執行的 exe 檔案PythonWindows
- maven 打包可執行 jar 檔案MavenJAR
- 將Python程式打包成可執行檔案薦Python
- Python程式碼打包成可執行檔案的常用方法!Python
- windows使用bat檔案 執行java程式WindowsBATJava
- 將Python程式(.py)轉換為Windows可執行檔案(.exe)PythonWindows
- 把可執行jar打包成exe檔案JAR
- 將自己的python程式碼打包成exe的可執行檔案Python
- Python開發Windows桌面應用程式(三)應用程式打包成exeWindows可執行檔案PythonWindows
- 如何用pkg打包nodejs可執行檔案NodeJS
- 把 java project 釋出成為可執行檔案JavaProject
- Java執行exe,bat等可執行檔案JavaBAT
- 將Python指令碼打包成可執行檔案Python指令碼
- matlab (.m)檔案生成 windows 可執行(.exe)檔案MatlabWindows
- ubuntu 把檔案設定為可執行檔案Ubuntu
- JavaFx專案打包成exe,並整合Jre,使Java專案在任意機器執行Java
- Python如何生成windows可執行的exe檔案PythonWindows
- windows下ftp定時執行批次下載檔案,windows下ftp定時執行批次下載檔案的一種方法WindowsFTP
- Wpf應用程式作為一個單獨的可執行檔案
- 【原創】將Java程式變成可執行檔案的簡單方法Java
- Java(j2se)編寫的程式如何生成可執行檔案?Java
- Windows XP 增加可執行檔案的搜尋路徑(轉)Windows
- java在windows下執行JavaWindows
- 打包可執行jar檔案,沒有主清單屬性,部分依賴沒有打包。JAR
- python2 反編譯pyinstaller打包的可執行exe檔案Python編譯
- Windows2000可執行檔案一覽(轉)Windows
- Eclipse下執行java檔案出錯EclipseJava
- 請問網頁可以打包成exe可執行檔案嗎?謝謝網頁
- Linux可執行的檔案(轉)Linux
- Parker 輕量級打包工具與容器執行時,一條命令將 php 指令碼打包成可執行檔案PHP指令碼
- 刪除當前目錄下的所有可執行檔案
- 一個工程的多個模組中的一個模組打包成jar在轉為.exe可執行檔案JAR
- 從C檔案到可執行elf檔案
- Windows2000可執行檔案一覽(二) (轉)Windows
- Windows2000可執行檔案一覽(一) (轉)Windows
- 瞭解JDK、JRE、JVM及Java程式的編譯與執行JDKJVMJava編譯
- java程式在windows系統作為服務程式執行JavaWindows
- C++程式怎樣呼叫exe可執行檔案C++