網頁上簡紹一堆開源打包軟件,你饒有興趣的在那閱讀,發現IzPack就是你很理想的打包軟件,點開詳細簡紹,看到了軟件的開源網址(這是基本規律嘛,沒給俺就google、baidu)http://izpack.org,常規你看到了download的按鈕,點吧,不用等網頁完全打開,就進入了http://izpack.org/downloads/頁面,就只顧找下載的那個鏈接去,當迅雷下著軟件的時候,你在看此頁面的各標題,確定重點段落閱讀一下,發現沒有教你怎么用的,就最初的那個鏈接也是草草講了一點無關緊要的然后就叫你上官方網站找學的。不用急,軟件下完了,咱先安裝,看自述不就行了。
就軟件的安裝界面來看,它打出來的包也挺不錯,這算一種自身思考吧。安裝完畢時,它叫保存什么東西?連什么格式也弄不清(好幾個點呢),隨便取名保存吧。失望的是,它沒有彈出自述文件,看看桌面上,從開始菜單進去一看,有卸載和幫助,就是沒有啟動。你是不是該懷疑你下載的東西被人做過手腳,可這是官方的呀。簡單,問題來了。我們就想關鍵字,google上輸入軟件名“IzPack”,點擊相關搜索 “lzpack使用”。看了幾個簡紹的,教學大同小異,知道有大概策略,卻無從下手,關鍵就在于寫文章的不像我一樣喜歡搞策略,總是沒我需要的實際,高效。他們往往會講重點,但卻不注意切入點,在大學聽課也經常這樣,讓你痛苦不已,就像被蚊子叮了,撓癢癢的只撓旁邊。總是看不到你的存在。
那些重點、難點你已經知道是那些就行了(其實還不用知道,知道是為了先跳過),只細致的搜尋這你要的切入點。有一個網頁說有兩三種用IzPack的方法,只是概述那種也把責任推給官方。不幸看到一網站這一段“這個software的基本思想就是,它給你提供了許多安裝步驟所需要的panel(比如選擇安裝路徑、選擇安裝的內容、觀看License等等),然后你自己寫一個install.xml文件將你自己軟件的信息、安裝需要的步驟、以及安裝的資源等等都寫進這個文件里,然后使用它所提供的compile批處理文件編譯這個文件(e.g. compile install.xml),它就會自動生成一個install.jar的可執行Java包。至此,整個過程就結束了,雙擊這個install.jar,就能啟動install界面。”,可以想到應該用命令行的方式來用這個軟件,其實這個想法早出來了,因為,桌面上也沒有lzPack的快捷方式。可我使用命令上就只會如 Javac xx.java 這一種,不過這一點也夠了,我已經萌生了一個測試策略。不就是命令加參數嗎?驗證一下再看其他的。
1. 用cmd進入軟件的bin目錄(compile.bat在這里)
2. 軟件附有樣例這是常規,進入軟件目錄IzPack下的sample(只有一個xml,compile 處理的就應該是xml,總共只有一個樣例,當然所有東西全用),全選,復制,貼入bin目錄下(不用怕混了,到時咱對照著刪就是了)。
3. (輸入什么呢,應該以bat文件為命令吧,以所要處理的文件為參數。那就)輸入
Compile install.xml
有輸出,有許多文字在輸出,你已經露微笑了,不幸命中,就是這么用,一看bin中多了個install.jar,就更放心了。雙擊看看,哦,原來是個語言選擇界面。那么你該處理“策略垃圾”了,你同時打開bin目錄和sample目錄對比著把bin中復制來的文件一個一個刪掉(這只是一種嚴慎的行為,因為錯誤總會隨時降臨)。
Bin未刪sample里復制過來的文件時如下圖:

你其實挺興奮,嚴格記下你的第一次,以備以后快速進入和研究,于是你還把cmd上留下的命令行輸出復制出來留待研究。而且你的很多策略也出來了,那個sample就是你參照的對象,寫xml可以仿寫,sample的結構有多復雜,你打包處理的軟件就至少能有這么復雜。對,start里面的幫助文檔還沒使用呢,下次肯定得用上。其實你在做這個測試的時候都是數著步數的,因為你想看看和上次相比,這軟件最快的使用方式有多大差別,對,每次你都用sample來數你開始的步伐了嗎?
這是在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環境,打出的包就一jar文件,比起installsheild輕省多了,但問題也來了,客戶要安裝你的軟件就要安裝jdk,以后我們會解決這問題。
下節看看我們的結果并簡單研究一下要配置的xml。
一種更好的態度,更好的學習、思維方式。它會是網絡極佳的生存方式,你喜歡就對。