




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
制作Java安裝程序ANTWindows,MacOSX,Unix平臺上可執(zhí)行的文件,比方exe,zip,jar。ROXESANTTasksGPL公布?!?//roxes/produkte/rat.html“://roxes/produkte/rat.html企業(yè)開源參考架構(gòu)JavaWeb應(yīng)用產(chǎn)品安裝程序制作方案名目:一.背景二.開源工具三.環(huán)境預(yù)備四.技術(shù)預(yù)備JsmoothJsmooth簡介工作原理IzPack簡介4.2.2.工作原理五.方案實例六.完畢一.背景:隨著Java在應(yīng)用產(chǎn)品開發(fā)中的廣泛應(yīng)用,基于Java的應(yīng)用產(chǎn)品也就越來越多,那么如何為基于Java的應(yīng)用產(chǎn)品制作安裝程序的需求就產(chǎn)生了。以前人們一般都是使用InstallShield與InstallAnyWhere進(jìn)展產(chǎn)品安裝程序的制作,這是兩個功能格外強(qiáng)大、易用的安裝盤制作工具,尤其是InstallAnyWhere,它還支持Java應(yīng)用產(chǎn)品安裝制作,例如:大名鼎鼎的Jbuilder安裝程序就是由它制作的。來進(jìn)展JavaWeb應(yīng)用產(chǎn)品程序制作進(jìn)展一些探討。二.開源工具:目前用于支持Java應(yīng)用安裝程序制作的開源工具格外豐富,本人將要本人在爭論過程中所遇到的排列一二以供參考:PackletPacklet是一個簡潔的Java安裝制作工具。它將JavaApplication打包成一個可以公布的類似于zip或tgz的壓縮文件中。這個壓縮文件被簡為packlet,它可以在安裝有Java2RuntimeEnvironment的操作系統(tǒng)上執(zhí)行.通過執(zhí)行packlet將會給用戶供給一個圖形化的安裝配置界面并解壓應(yīng)用。GoToPackletIzPackIzPack是一個用于Java平臺的安裝程序生成器。它用于產(chǎn)生一個輕量級、能運行于全部安通過java–jarinstall.jarIzPack的主要好處就是能夠生成運行于任意操作系統(tǒng)的安裝程序。GoToIzPackJSmoothJsmooth可以將Java可執(zhí)行應(yīng)用Wrapper成window可執(zhí)行Exe程序。通過Jsmooth生成的Exe程序會自動按制作時定義的挨次查找適宜的JVM,假設(shè)能不查找到JVM,安裝程序會提示用戶并能依據(jù)定義好的URL啟動WebBrowser讓用戶下載JVM.留意:Jsmooth并不是純Java應(yīng)用。GoToJSmoothVAInstallVAInsall是一個用Java寫的多平臺安裝程序工具。它是基于GNUGPL2.0許可。通過一個簡VAInstall生成的安裝程序允許先擇不同的安裝模式(graphic,text或ansi)。GoToVAInstallJavaServiceWrapper用于將JavaApplication安裝成為WindowNTService.同時與之附帶的scripts能夠很簡潔將JavaApplication安裝成為UNIX的后臺進(jìn)程。GoToJavaServiceWrapperLiftOffJavaInstallerLiftOffJavaInstallerclassGoToLiftOffJavaInstallerToolshed一個小巧、簡潔、純Java實現(xiàn)的安裝程序制作工作。Launch4JLauch4J也是一個Java應(yīng)用WindowExe封裝工具。通過Lauch4J,可以供給splashscreen,圖標(biāo),自動查詢JRE或內(nèi)置JRE等功能,同時還支持啟動失敗反響以及命令行參數(shù)。GoToLaunch4JAntInstallerAntInstaller是一個安裝程序框架,它利用一個簡潔的XML定義安裝界面,并以Ant執(zhí)行安裝AntInstaller的安裝程序可以打包成自解壓jar通過commandline執(zhí)行可SwingGUI來執(zhí)行。GoToAntInstallerAntigenAntigen----即AntInstallerGenerator。它主要的目的就是依據(jù)Ant腳本創(chuàng)立圖形化安裝程序。GoToAntigenFreeInstaller用。通過FreeInstaller可以將Java或非Java的應(yīng)用安裝到UNIX,LINUX以及windowNT系統(tǒng)中。GoToFreeInstallerMiniInstaller一個簡潔的Java安裝程序制作工具。整個制作過程是通過腳本完成的,最終生成一個可以通過雙擊方式執(zhí)行的jar文件。GoToMiniInstaller通過對如上各產(chǎn)品的初步探究,本人最終選擇了利用izpack+jsmooth作為JavaWeb應(yīng)用產(chǎn)已工程的需求(本人負(fù)責(zé)公司一企業(yè)應(yīng)用開發(fā)平臺的研發(fā)工作)及本人的偏好作出的選擇。式,本文只是供給一個解決方法,關(guān)于如何與自已的框架或平臺進(jìn)展有效的整合,請讀者自行考慮。三.環(huán)境預(yù)備:你需要安裝J2SDK1.4.1+版本;關(guān)于J2SDK請由Sun公司下載;你需要安裝Ant1.6.2版本,理論上其它版本也行,只是本人用的是1.6.2;請下載并安裝izpack;設(shè)定定裝到IZPACK_HOME請下載并安裝jsmooth;設(shè)定安裝到JSMOOTH_HOME為了便于理解,你需要對Java進(jìn)展應(yīng)用的開發(fā)有肯定的根底,本例將以Web應(yīng)用的安裝程序制作為背景進(jìn)展相關(guān)介紹,所以需要你對Web應(yīng)用開發(fā)以及其公布方式有肯定的根底;另外,本方案將會以Ant作為應(yīng)用build的工具,所以你需要有肯定的Ant技術(shù);對于如上相關(guān)學(xué)問本局部不預(yù)備介紹。下面本局部將主要對izpack及jsmooth進(jìn)展簡潔的介紹。jsmooth:Jsmooth簡介:Jsmooth,一個Java可執(zhí)行應(yīng)用封裝器(Wrapper),馬上Java可執(zhí)行應(yīng)用程序(即可執(zhí)行jar)封裝為Window可執(zhí)行文件 exe文件的工具。通過Jsmooth將可執(zhí)行jar封裝為ExeJavaWindow應(yīng)用程序一樣,重用用戶閱歷。Jsmooth對jar進(jìn)展封裝時可以設(shè)定classpath,JVM參數(shù),命令行參數(shù),JVM版本及位置,這樣用戶在執(zhí)行exe時不用關(guān)心JVM,Classpath等問題,這樣就簡化了Java應(yīng)用執(zhí)行。工作原理:通過Jsmooth生成的WindowEx文件通常定義為“JsmoothApplicatio要想生成JsmoothApplication,我們需要一個JsmoothGen工程文件-----.jsmooth文件,后面我們將其稱為“.jsmooth.jsmooth文件實際上是一個xm文件,用于描述/定義JsmoothApplication的相關(guān)屬性,例如:classpath,JVM,Javamain方法類,以及其它與JavaJsmoothJsmoothGen.exe--------WindowsProjectEditor來創(chuàng)立和編輯這個文件,這個Editor如以下圖所示:(圖-1)WidnowProjectEditor(圖-2)WidnowProjectEditor(圖-3)WidnowProjectEditor在.jsmooth文件生成之后,就可以通過如下方式生成目標(biāo)JsmoothApplication,即Exe文件:。WindowProjectEditor:你可以直接在如上圖所示的編輯器通過工具條來生成:ProjectàCreateExe。。CommandLine:你也可以進(jìn)入。jsmooth文件所以名目,通過如下命令來生成目標(biāo)Exe文件:???>%jsmooth_home%“jsmoothcmd.exeyourproject.jsmooth。通過Ant任務(wù)調(diào)用生成目標(biāo)Exe:首先你需要在你的build文件中參加jsmoothAnt任務(wù)定義:<>classname=“net.charabia.jsmoothgen.ant.JSmoothGen“classpath=“${jsmooth_home}/lib/jsmoothgen-ant.jar“/>然后,通過jsmoothgen任務(wù)來執(zhí)行生成Exe的工作:skeletonroot=”${jsmooth_home}/skeletons”/>所以通過Jsmooth我們可以很簡潔將JavaApplication制作WindowsExe應(yīng)用。關(guān)于Jsmooth的具體介紹請參考“:///“://izpack:izpack簡介:izpack是基于ApacheSoftwareLicense2.0許可的開源工程;izpack是純Java,對局部特性有針對不同平臺版本的Library。例如:快捷鍵的創(chuàng)立。izpack是一個用于解決安裝程序制作的Builder工具;通過izpack制作的安裝程序可以運行于不同的操作系統(tǒng),Windows,Linux,Unix等,只要安裝了JDK1.4以及其后版本即可;izpack優(yōu)秀的模塊化設(shè)計可以允許你定制安裝程序外觀、安裝過程等;同時允許你通過其供給API調(diào)整izpack安裝過程。izpack的主要功能包括(但不限于):XMLbasedinstallationfileseasyinternationalizationusingXMLfiles(10translationsarealreadyavailable)Antintegration,command-linecompilereasycustomizationwiththepanelsandarichAPI(evenanXMLparserisincluded!)powerfulvariablesubstitutionsystemthatyoucanusetocustomizescriptsandmoregenerallyanytext-basedfiledifferentkindsofinstallers(standard,web-based,...)launchingofexternalexecutablesduringtheinstallationprocessandUnixexecutableflagsupport(usefulforthescriptsforinstance)layoutoftheinstallationfilesinpacks(somecanbeoptional)nativecodeintegrationfacilitiesjarfilesnestingsupport...morethingstodiscoverandcreate!.(圖-4)IzPack制作的安裝界面例如-選擇安裝的Pack.原理及過程第一步:創(chuàng)立并描述安裝定義文件;其次步:通過izpack供給CommandLine工具或AntTask對安裝定義文件進(jìn)展編譯,編譯的結(jié)果即是生成一個可執(zhí)行的jar文件,其中包括了整個安裝過程的實現(xiàn)以及安裝數(shù)據(jù);安裝定義文件:安裝過程定義文件是一個XML文件,installation是根元素,表示定義的開頭。定義主要由如下幾局部組成:1.?.用于定義安裝程序的根本信息;產(chǎn)品中文名稱產(chǎn)品版本號,例如:1.0-062312公司網(wǎng)址JDK版本號:1.4.22.??用于定義安裝程序界面信息,例如:3.??..定義變量或配置信息,變量在整個安裝制作的過程中格外重要,變量兩種用途:其一:作為配置用,例如可以通過依據(jù)肯定的命名稱規(guī)章為某個變量設(shè)定一個值,izpack在執(zhí)行安裝過compareToVariable.、compareToOperator.與compareToValue.的組合打算第個用戶自定義的向?qū)Т翱谠诎惭b時是否可見,這樣就可以通過上個窗口用戶選擇來打算下個窗口是否可見;其二:作為替換變量用,通常安裝過程中收集的信息存放在變量中,然后,在安裝程序進(jìn)展到最終,利用變量的值來替換安裝目標(biāo)文件中的內(nèi)容。4.?.打算,安裝程序界面所支持的語言。5.??..用于為安裝界面指定圖片或圖標(biāo)用于指定用戶自定義安裝向?qū)Т翱诙xXML文件的位置用于指定安裝向?qū)Т翱谥袊H化資源XML文件的位置等等,例如:<resources><ressrc=“l(fā)angsel.jpg“id=“installer.langsel.img“/><res src=“readme.html“encoding=“GB2312“/>
id=“HTMLInfoP“ parse=“yes“ type=“plain“<res src=“readme_chn.html“ id=“HTMLInfoP_chn“ parse=“yes“ type=“plain“encoding=“GB2312“/><res src=“l(fā)icense.html“ id=“HTMLLicencePanel.licence“ parse=“yes“ type=“plain“encoding=“GB2312“/><res src=“l(fā)icense_chn.html“ id=“HTMLLicencePanel.licence_chn“type=“plain“encoding=“GB2312“/>
parse=“yes“<res src=“shortcutSpec.xml“encoding=“GB2312“/>
id=“shortcutSpec.xml“ parse=“yes“
type=“xml“<res src=“Unix_shortcutSpec.xml“id=“Unix_shortcutSpec.xml“parse=“yes“ type=“xml“encoding=“GB2312“/><ressrc=“packsLang.xml“id=“packsLang.xml“/><ressrc=“packsLang_chn.xml“id=“packsLang.xml_chn“/><ressrc=“UserInputSpec.xml“id=“userInputSpec.xml“/><ressrc=“UserInputLang.xml“id=“userInputLang.xml“/><ressrc=“UserInputLang_chn.xml“id=“userInputLang.xml_chn“/>resources>6.??.本局部用于定義整個安裝過程,每個panel即是一個安裝向?qū)Т翱冢琾anel是按挨次由IzPack調(diào)用的。IzPack內(nèi)置了很多的PanelUserInputPanelID為UserInputSpec.xml的資源(XML)中定義UserInputPanel窗口中用戶錄入工程及相關(guān)存放的變量。另外,Izpack支持條件用戶自定義Panel,即ConditionalUserInputPanel你可以在?.中通過變量來掌握這樣的向?qū)Т翱诘目梢娦浴.?dāng)安裝過程執(zhí)行到InstallPanel時IzPack開頭解壓安裝包到硬盤中,所以,一般來說全部的配置信息(例如,安裝名目,安裝包的選擇等)都應(yīng)在InstallPanel之前完成。在InstallPanel之后可以通過ShortcutPanel來顯示快捷方式創(chuàng)立窗口,另外還可以通過ProcessPanel來執(zhí)行一些后續(xù)操作。<panels><panelclassname=“HTMLLicencePanel“/><panelclassname=“HTMLInfoPanel“/><panelclassname=“TargetPanel“/><panelclassname=“PacksPanel“/><panelclassname=“UserInputPanel“/><panelclassname=“SummaryPanel“/><panelclassname=“InstallPanel“/><panelclassname=“ShortcutPanel“/><panelclassname=“SimpleFinishPanel“/>panels>7.??.本局部主要用于定義安裝包,馬上哪些文件進(jìn)展打包,以及將來安裝時如何進(jìn)展安裝。通過可以將應(yīng)用程序文件分解成不同的安裝包,可以指定哪些pack是必需安裝的,哪些是可選的。定義pack時,就可以指定哪些文件在安裝時需要進(jìn)展解析(parseable)。需要留意的,你需要指定需要解析的方式(xml,javaprop,plain,shell),如查將javaprop類型的文件解析類型設(shè)定為plain的話,可以就有問題,例如:假設(shè)變量的值為路徑,那么在可能就會有問題。另,對于每一個Pack在它安裝(copy文件)之后,可以定義它執(zhí)行一個程序,例如腳本程序。你可以利用這種功能來做一些工作,例如:你可執(zhí)行腳本程序來導(dǎo)入數(shù)據(jù)庫數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)貸款合同范例
- 企業(yè)商鋪裝修合同范例
- dm加盟合同范例
- 公司支出收入合同范例
- 公司賬戶合同范例
- 2013備案合同范例
- 交通設(shè)備合同范例
- 內(nèi)江商場保安合同范例
- 偉星加盟合同范例
- 兒童肝細(xì)粒棘球蚴病囊腫破裂相關(guān)危險因素分析
- 2023年四川成都農(nóng)業(yè)科技中心管理人員招聘1人高頻考點題庫(共500題含答案解析)模擬練習(xí)試卷
- 護(hù)士奮斗從n1晉升n2個人總結(jié)大全
- 《概率論與數(shù)理統(tǒng)計》課件第八章 假設(shè)檢驗
- 2023年濟(jì)南工程職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試題庫及答案解析word版
- 格力2匹柜機(jī)檢測報告KFR-50LW(50530)FNhAk-B1(性能)
- 10KV開關(guān)柜教學(xué)講解課件
- 河南省施工現(xiàn)場安全文明施工標(biāo)準(zhǔn)
- GB/T 8813-2020硬質(zhì)泡沫塑料壓縮性能的測定
- GB/T 15057.2-1994化工用石灰石中氧化鈣和氧化鎂含量的測定
- 事故應(yīng)急預(yù)案演練流程圖
- 潔凈廠房監(jiān)理實施細(xì)則
評論
0/150
提交評論