java 应用程序的打包发行
生活随笔
收集整理的這篇文章主要介紹了
java 应用程序的打包发行
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Java應(yīng)用程序項目的打包與發(fā)行
作者:starsinsky 日期:2006-08-09
字體大小:?小?中?大 ? 這里主要是講解一下怎樣將 Java程序打包成獨立運行的exe程序包,以下這種方法應(yīng)該是最佳的解決方案了。NetDuke的EXE程序包了是使用這種方案制作的。在操作步驟上還是比較簡單的,而且通用性強。?1.程序打包?
????????首先將程序打成Jar包,打包命令:jar cf 包文件名.jar *.class。接下來編譯包中的清單文件MANIFEST.MF 。?
????????Manifest-Version - 指定清單文件的版本號?
????????Main-Class - 指定程序運行的入口類。注意:類名后不要加class擴展名?
2.讓用戶電腦不必安裝JRE環(huán)境?
????????通常運行Java程序有個前提條件:用戶電腦必須先安裝JRE環(huán)境。雖然安裝JRE環(huán)境非常簡單,但畢竟多了一步,算是有一點點的瑕疵。這里給出一個不必讓用戶安裝JRE環(huán)境的方法,其實現(xiàn)步驟如下:?
???? (1)將原JDK中的“jre”目錄復(fù)制到“D:\項目文件夾\java1.4.2”目錄下(java1.4.2也可換成其他名稱)。?
???? (2)將JDK和JRE從本機卸載掉,這樣表示本機沒有安裝JAVA運行環(huán)境。?
???? (3)修改批處理文件run.bat中的命令為“start java1.4.2\jre\bin\javaw -jar NetDuke.jar”,僅僅是在javaw前加上了一個相對應(yīng)路徑。?
??????雙擊run.bat即可在不安裝JRE環(huán)境的電腦運行此Java應(yīng)用程序。?
3.更進(jìn)一步的完善?
????????1、拋棄批處理文件(*.bat)?
??????用批處理文件運行程序似乎不夠?qū)I(yè),雖然它足以完成運行任務(wù)。但習(xí)慣就象一種毒藥一旦染上就很難擺脫它的影響,Windows統(tǒng)治下的人們早已經(jīng)習(xí)慣運行擴展名是EXE的程序,用*.bat他們就會感覺別扭。?
??????我們可以用一個叫JavaLauncher的免費小程序來代替批處理文件去運行Java程序。JavaLauncher的下載網(wǎng)址是:http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm?
???????? 下載下來的文件是一個名JavaLauncher.zip的壓縮包,解壓后的目錄結(jié)構(gòu)如下:?
???????? 1.source目錄包含了JavaLauncher的源程序,是用C語言寫的?
??????2.changes.txt是新版的修改說明?
??????3. launch.exe是主程序?
??????4. launcher.cfg是配置文件?
??????5.readme.txt是一些說明和示例?
??????我們只需要launch.exe、launcher.cfg兩個文件,將這兩個文件復(fù)制到打包文件所在的目錄。launcher.cfg是一個僅三行內(nèi)容的文本文件,將它修改如下:?
???????? .?
???????? .\java1.4.2\jre\bin\javaw.exe?
???????? -jar NetDuke.jar?
???????? 第一行設(shè)置指向JAR包NetDuke.jar的目錄,由于launch.exe和NetDuke.jar同在一個目錄,所以用“.”即當(dāng)前目錄。?
??????第二行設(shè)置指向jre\bin\javaw.exe的路徑。要先將jre目錄復(fù)制到了java1.4.2子目錄中?
配置好launcher.cfg后,雙擊launch.exe即可運行java應(yīng)用程序。?
??????如果仔佃研究eclipse的啟動方式,發(fā)現(xiàn)eclipse和JavaLauncher的原理一樣:eclipse.exe相當(dāng)于launch.exe,startup.jar相當(dāng)于NetDuke.jar。只不過eclipse.exe不象launch.exe要具有通用性,所以它沒有*.cfg這樣的配置文件,而是將啟動信息固化在eclipse.exe中。?
4.美化圖標(biāo)?
???????? launch.exe文件的圖標(biāo)太單調(diào)了,讓我們給它換個好看點的。換程序的圖標(biāo)需要用到一個免費的軟件:Resource Hacker,它有中文版,下載網(wǎng)址是:?
??????http://www.users.on.net/johnson/resourcehacker/?
???????? 用Resource Hacker來替換launch.exe的圖標(biāo)的步驟如下:?
??????(1)運行Resource Hacker。?
??????(2)單擊主菜單“文件→打開”,將launch.exe載入到程序中。?
??????(3)選擇左邊的“圖標(biāo)→1→1030”,然后右鍵單擊“1030”項,選擇“替換資源…”。然后在彈出窗口中單擊“打開新圖標(biāo)文件”,選擇一個滿意的圖標(biāo),然后單擊“替換”按鈕。?
?????? 附注:圖標(biāo)文件可以是exe、dll、res、ico,該軟件可以從exe、dll、res抽取出圖標(biāo),本例選擇的是Java的吉祥物Duke.ico。?
??????(4)選擇“文件→另存為”,取名NetDuke.exe。?
?????? 附注:按理說選擇“保存”也是可以的,這時Resource Hacker會將老的launch.exe備份成launch_original.exe。但也許是刷新上有問題,用“保存”方式有時launch.exe無法顯示出新圖標(biāo),但有時又可以。?
??????(5)最后的目錄如下所示,可見NetDuke.exe(也就是launch.exe改了個名稱)的圖標(biāo)換成了Java的圖標(biāo)。雙擊NetDuke.exe即可運行Java應(yīng)用程序。?
?????? 1.java1.4.2(文件夾)?
?????????? 2.launcher.cfg?
?????????? 3.NetDuke.exe?
?????????? 4.NetDuke.jar?
5.最后的打包?
???????? 發(fā)送給用戶之前,通常要用WinZip或WinRAR將所有的文件全部打成一個壓縮包,然后用戶得到這個壓縮包后,將其解壓縮后即可運行程序,Eclipse軟件就是這種方式。?
??????另外大家要注意的幾點:?
??????(1)Java應(yīng)用程序中用到的資源,它都必須要求寫絕對路徑,否則在其它機子上就會出現(xiàn)找不到資源。所以一般我們在寫程序時就要注意一定要用絕對路徑,例如:Toolkit.getDefaultToolkit().getImage(getClass().getResource("文件名")));像這種寫法就一定沒問題。當(dāng)然如果要將資源傳遞給構(gòu)造器的話就沒辦法了,例如:NetDuke frame = new NetDuke("資源");這是我們就須要將資源拷貝到項目文件夾下一起打包。?
??????(2)一般我們的Jre都有60多M,這樣和程序一起打包就顯得很臃腫。所以要將Jre適當(dāng)?shù)販p肥,具體的作法這樣不再累贅,大家在一臺還沒裝JRE的機上測試,將JRE中的一個個文件刪除后程序是否可正常運行。還有一個就是rt.jar這個Java類庫也要大量的砍伐。?
?????? 通過以上的操作即可得到使大家滿意的一個exe程序包,而不用借助其它軟件。希望對大家有幫助。?
[本日志由 starsinsky
轉(zhuǎn)載于:https://www.cnblogs.com/zengsong-restService/archive/2012/12/27/2835983.html
總結(jié)
以上是生活随笔為你收集整理的java 应用程序的打包发行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS crash 崩溃问题的追踪方法
- 下一篇: 双系统安装 Windows8和Windo