打包——IzPack(1)
網(wǎng)頁上簡紹一堆開源打包軟件,你饒有興趣的在那閱讀,發(fā)現(xiàn)IzPack就是你很理想的打包軟件,點(diǎn)開詳細(xì)簡紹,看到了軟件的開源網(wǎng)址(這是基本規(guī)律嘛,沒給俺就google、baidu)http://izpack.org,常規(guī)你看到了download的按鈕,點(diǎn)吧,不用等網(wǎng)頁完全打開,就進(jìn)入了http://izpack.org/downloads/頁面,就只顧找下載的那個鏈接去,當(dāng)迅雷下著軟件的時候,你在看此頁面的各標(biāo)題,確定重點(diǎn)段落閱讀一下,發(fā)現(xiàn)沒有教你怎么用的,就最初的那個鏈接也是草草講了一點(diǎn)無關(guān)緊要的然后就叫你上官方網(wǎng)站找學(xué)的。不用急,軟件下完了,咱先安裝,看自述不就行了。
就軟件的安裝界面來看,它打出來的包也挺不錯,這算一種自身思考吧。安裝完畢時,它叫保存什么東西?連什么格式也弄不清(好幾個點(diǎn)呢),隨便取名保存吧。失望的是,它沒有彈出自述文件,看看桌面上,從開始菜單進(jìn)去一看,有卸載和幫助,就是沒有啟動。你是不是該懷疑你下載的東西被人做過手腳,可這是官方的呀。簡單,問題來了。我們就想關(guān)鍵字,google上輸入軟件名“IzPack”,點(diǎn)擊相關(guān)搜索 “lzpack使用”。看了幾個簡紹的,教學(xué)大同小異,知道有大概策略,卻無從下手,關(guān)鍵就在于寫文章的不像我一樣喜歡搞策略,總是沒我需要的實(shí)際,高效。他們往往會講重點(diǎn),但卻不注意切入點(diǎn),在大學(xué)聽課也經(jīng)常這樣,讓你痛苦不已,就像被蚊子叮了,撓癢癢的只撓旁邊。總是看不到你的存在。
那些重點(diǎn)、難點(diǎn)你已經(jīng)知道是那些就行了(其實(shí)還不用知道,知道是為了先跳過),只細(xì)致的搜尋這你要的切入點(diǎn)。有一個網(wǎng)頁說有兩三種用IzPack的方法,只是概述那種也把責(zé)任推給官方。不幸看到一網(wǎng)站這一段“這個software的基本思想就是,它給你提供了許多安裝步驟所需要的panel(比如選擇安裝路徑、選擇安裝的內(nèi)容、觀看License等等),然后你自己寫一個install.xml文件將你自己軟件的信息、安裝需要的步驟、以及安裝的資源等等都寫進(jìn)這個文件里,然后使用它所提供的compile批處理文件編譯這個文件(e.g. compile install.xml),它就會自動生成一個install.jar的可執(zhí)行Java包。至此,整個過程就結(jié)束了,雙擊這個install.jar,就能啟動install界面。”,可以想到應(yīng)該用命令行的方式來用這個軟件,其實(shí)這個想法早出來了,因?yàn)椋烂嫔弦矝]有lzPack的快捷方式。可我使用命令上就只會如 Javac xx.java 這一種,不過這一點(diǎn)也夠了,我已經(jīng)萌生了一個測試策略。不就是命令加參數(shù)嗎?驗(yàn)證一下再看其他的。
1. 用cmd進(jìn)入軟件的bin目錄(compile.bat在這里)
2. 軟件附有樣例這是常規(guī),進(jìn)入軟件目錄IzPack下的sample(只有一個xml,compile 處理的就應(yīng)該是xml,總共只有一個樣例,當(dāng)然所有東西全用),全選,復(fù)制,貼入bin目錄下(不用怕混了,到時咱對照著刪就是了)。
3. (輸入什么呢,應(yīng)該以bat文件為命令吧,以所要處理的文件為參數(shù)。那就)輸入
Compile install.xml
有輸出,有許多文字在輸出,你已經(jīng)露微笑了,不幸命中,就是這么用,一看bin中多了個install.jar,就更放心了。雙擊看看,哦,原來是個語言選擇界面。那么你該處理“策略垃圾”了,你同時打開bin目錄和sample目錄對比著把bin中復(fù)制來的文件一個一個刪掉(這只是一種嚴(yán)慎的行為,因?yàn)殄e誤總會隨時降臨)。
Bin未刪sample里復(fù)制過來的文件時如下圖:
你其實(shí)挺興奮,嚴(yán)格記下你的第一次,以備以后快速進(jìn)入和研究,于是你還把cmd上留下的命令行輸出復(fù)制出來留待研究。而且你的很多策略也出來了,那個sample就是你參照的對象,寫xml可以仿寫,sample的結(jié)構(gòu)有多復(fù)雜,你打包處理的軟件就至少能有這么復(fù)雜。對,start里面的幫助文檔還沒使用呢,下次肯定得用上。其實(shí)你在做這個測試的時候都是數(shù)著步數(shù)的,因?yàn)槟阆肟纯春蜕洗蜗啾龋@軟件最快的使用方式有多大差別,對,每次你都用sample來數(shù)你開始的步伐了嗎?
這是在cmd里的操作和輸出,不是很有意義,僅作為一種完整性貼這。
C:"Documents and Settings"yys>cd E:"Program Files"IzPack"bin
C:"Documents and Settings"yys>e:
E:"Program Files"IzPack"bin>compile install.xml
.:: IzPack - Version 4.1.0 ::.
< compiler specifications version: 1.0 >
- Copyright (c) 2001-2008 Julien Ponge
- Visit http://izpack.org/ for the latest releases
- Released under the terms of the Apache Software License version 2.0.
-> Processing : install.xml
-> Output : install.jar
-> Base path : .
-> Kind : standard
-> Compression : default
-> Compr. level: -1
-> IzPack home : .
Adding resource: IzPack.uninstaller
Setting the installer information
Setting the GUI preferences
Adding langpack: eng
Adding resource: flag.eng
Adding langpack: fra
Adding resource: flag.fra
Adding resource: LicencePanel.licence
Adding resource: InfoPanel.info
Adding content of jar: file:/E:/Program%20Files/IzPack/lib/standalone-compiler.j
ar!/bin/panels/HelloPanel.jar
Adding content of jar: file:/E:/Program%20Files/IzPack/lib/standalone-compiler.j
ar!/bin/panels/InfoPanel.jar
Adding content of jar: file:/E:/Program%20Files/IzPack/lib/standalone-compiler.j
ar!/bin/panels/LicencePanel.jar
Adding content of jar: file:/E:/Program%20Files/IzPack/lib/standalone-compiler.j
ar!/bin/panels/TargetPanel.jar
Adding content of jar: file:/E:/Program%20Files/IzPack/lib/standalone-compiler.j
ar!/bin/panels/PacksPanel.jar
Adding content of jar: file:/E:/Program%20Files/IzPack/lib/standalone-compiler.j
ar!/bin/panels/InstallPanel.jar
Adding content of jar: file:/E:/Program%20Files/IzPack/lib/standalone-compiler.j
ar!/bin/panels/FinishPanel.jar
Building installer jar: E:"Program Files"IzPack"bin"install.jar
[ Begin ]
Copying the skeleton installer
Copying 7 files into installer
Merging 7 jars into installer
Writing 3 Packs into installer
Writing Pack 0: Base
Writing Pack 1: Docs
Writing Pack 2: Sources
[ End ]
Build time: Thu Oct 30 20:08:24 CST 2008
E:"Program Files"IzPack"bin>
從cmd輸出的你能看到我用的命令就是剛才寫的,就那么一條,然后輸出它打包的過程,xml配置有問題的話,就會編譯不過去。
同樣izpack是個小巧的開源軟件,用大部分用java寫的,離不開java環(huán)境,打出的包就一jar文件,比起installsheild輕省多了,但問題也來了,客戶要安裝你的軟件就要安裝jdk,以后我們會解決這問題。
下節(jié)看看我們的結(jié)果并簡單研究一下要配置的xml。
一種更好的態(tài)度,更好的學(xué)習(xí)、思維方式。它會是網(wǎng)絡(luò)極佳的生存方式,你喜歡就對。
posted on 2008-11-24 18:47 yangyusong 閱讀(4011) 評論(5) 編輯 收藏 所屬分類: 打包