1
、要求
我們的
web
程序使用
tomcat6
作為應用服務器,數據庫為
mysql
。
java
的版本是
jdk1.6
,同時,在系統安裝的時候,需要導入一些數據,這些都是我們幫助客戶錄入的,因為客戶覺得錄入太麻煩了。
目標是客戶只需要運行一下
EXE
文件,就完成
WEB
系統的安裝。
JDK
,
TOMCAT
,
MYSQL
和環境變量都要一次設置好。(只適用于
WINDOW
系統)
?
2
、思路
既然客戶要求自動安裝,那么無非就是自動安裝
tomcat, mysql, jdk,
我們的
web
應用,以及導入客戶的數據。但是我們的客戶對電腦完全不懂,所以,如果安裝過程中,出現
tomcat
那種的
“
下一步
”
操作,是絕對不行的。最好是一氣呵成,點完安裝,一切
ok
,打開瀏覽器,就能訪問。
圖形的當然最好,不過俺還是想省點事,交流之后客戶能夠接受批處理文件。那么就用批處理編寫安裝程序。
?
3
、建立項目文件夾
在
C
盤建立名為
MyApp
的文件夾,把免安裝的
Java
、
tomcat6
、
mysql
放進去。
4
、自動安裝
jdk
因為
jdk
是
tomcat
的必要環境,所以先考慮這個。其實這個最簡單了,拷貝一份安裝過的
jdk
就可以了,一般
c:\programe files\java
目錄里有兩個目錄:
jdk1.6.0_12
和
jre1.6.0_12
?
5
、自動安裝
tomcat
這個部分非常簡單,網上也有詳細的資料。無非就是下載一個
tomcat
的免安裝版本。然后修改
service.bat
文件,在第一行加上
set JAVA_HOME=C:\ MyApp\java\jdk1.6.0_10
6
、自動安裝
mysql
這部分的資料網上很多,無非是下載免安裝版本的
mysql
。但是通常你花費點時間才發現,免安裝版本的
mysql
里不帶
my.ini
文件,沒有這個文件是不能啟動
mysql
的。從你的安裝過的版本里拷貝一個出來吧,修改一下其中的配置。
basedir="C:/MyApp/MySQL/MySQL Server 5.1/"
datadir="C:/ MyApp /MySQL/MySQL Server 5.1/Data/"
(
把其它地方安裝后的
mysql
復制進來也算是免安裝版的
MYSQL)
?
7
、安裝我們的
web
應用以及導入數據
安裝
web
應用太簡單了,拷貝到
tomcat
目錄下就行了。
導入數據也很簡單。我們首先準備一個
init.sql
。
這個文件里寫上創建數據庫的語句。然后放在
C:\MyApp\MySQL\db
目錄下
,
其它目錄也行,但文件夾名稱不能有空格,否則會找不到文件。
?
8
、注冊
MYSQL
和
TOMCAT
的系統服務
寫一個批處理文件
regeditService.bat
再建一個 uninstall.bat 文件
9 、在 MyApp 目錄下建一個 config 文件夾,把 regeditService.bat 放進去
10 、使用制作工具打包成 EXE
?
別急著點生成腳本,先設置一個高級選項,點進去
首選運行是選不了
regeditService.bat
文件的,要自己手動輸入。點擊返回主菜單。然后點擊生成腳本即可。
?
這個工具在 CSDN 的下載資源里面輸入 exe 打包制作工具 ( 綠色版 ) 就能找到 .
?
?
?
以打包我自己的 rpss 項目為例:
先將 Java 、 Tomcat 、 MySQL 和項目文件都復制到一個目錄里面。該目錄下有以下東西:
[apps] - 存放項目文件
[jdk1.6.0_13] - Java 的 jdk 文件
[MySQL-5.1] - MySql 非安裝版
[Tomcat-6.0.18] - Tomcat
1 ) 修改 Tomcat 目錄 \conf\server.xml 中的標簽 <Host appBase="webaps" ...> ,將 appBase 指向項目所在相對路徑。注意路徑分割符使用 “/” 。
2 ) 編寫兩個批處理文件,分別為 “install.bat” 和 “uninstall.bat” ,放在目錄根路徑下。
install.bat 內容:
set JAVA_HOME=%1%\jdk1.6.0_13
set CATALINA_HOME=%1%\Tomcat-6.0.18
call %1%\Tomcat-6.0.18\bin\service install Tomcat
call %1%\MySQL-5.1\bin\mysqld --install MySQL
net start MyTomcat
net start MySQL
uninstall.bat 內容:
set JAVA_HOME=%1%\jdk1.6.0_13
set CATALINA_HOME=%1%\Tomcat-6.0.18
net stop Tomcat
net stop MySQL
call %1%\Tomcat-6.0.18\bin\service remove Tomcat
call %1%\MySQL-5.1\bin\mysqld --remove MySQL
3
) 建立
Project
打開
InstallAnywhere 2009 Enterprise
,建立
Baisc Project Template
,然后選擇
Advanced Designer
,設置
Title, Name
等。
4
) 本地化語言
菜單
Project>Locales>
,選擇需要的本地化語言。
5
) 設置環境變量
菜單
Install>
,按鈕
Add Action...>Set System Environment Variable>Add>
,設置
JAVA_HOME
和
CATALINA_HOME
兩個系統環境變量。
其中
$USER_INSTALL_DIR$
表示用戶選擇的安裝路徑。
6
) 注冊服務
菜單
Post-Install>
,按鈕
Add Action...>Execute Command>Add>
,在安裝完成后執行
install.bat
,注冊
Tomcat
和
MySQL
服務。
其中
Command Line: cmd /c $USER_INSTALL_DIR$\install.bat $USER_INSTALL_DIR$
。
cmd /c
表示執行指定的命令并中斷。
$USER_INSTALL_DIR$
是傳遞給
install.bat
中
%1%
的參數。
并且,選中
Options
中的
3
個選項。
將該
Execute Command
移動到
Panel: Install Complete
前面。
7
) 讓安裝完成后啟動瀏覽器,自動打開項目
菜單
Post-Install>
,按鈕
Add Action...>Launch Default Browser>Add>
在
Other URL:
填入項目地址
http://localhost:7777/rpss
講該
Launch Default Browser
移動到
Panel: Install Complete
后面。
8
) 反安裝
菜單
Pre-Uninstall>
,按鈕
Add Action>Execute Command>Add>
。
Command Line:
cmd /c $USER_INSTALL_DIR$\uninstall.bat $USER_INSTALL_DIR$
將該
Execute Command
移動到第一個。
選中
Options
中的
3
個選項。
9
) 打包
菜單
Build>
,按鈕
Build Project>
,等待
InstallAnywhere
打包完成。
完成以后,按鈕
Open in Explorer>
,文件夾
Web_Installers>InstData>Windows>VM>
,
setup.exe
就是完成的安裝文件包。
?
?
?
?
?
打包J2EE工程為安裝文件(InstallAnywhere7.1)
現在有這樣一個J2EE項目,使用tomcat + mysql 開發,開發完成后,客戶要求打包成安裝程序,要求客戶機器在沒有任何開發環境下也能運行該項目
打包步驟如下:
有這幾個問題需要解決:注冊MySQL服務,打開MySQL和tomcat服務,解決方法如下:
1. 準備工具:
tomcat5.0.28解壓縮版(
http://archive.apache.org/dist/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28-embed.zip
)
mysql5.0.22免安裝版(
http://downloads.mysql.com/archives/mysql-5.0/mysql-noinstall-5.0.22-win32.zip
)
installAnywhere7.1(
ftp://download.nbjsz.com/programdev/installanywhere.rar
)注冊碼去google下
jdk(使用安裝好的就行)
2. 將J2EE工程打包為.war,放到tomcat的webapps中
3. 建立一個文件夾,取名為"服務",在該文件夾下建立2個批處理文件,分別取名為:"啟動服務.bat" 和"停止服務.bat"
4. 打開installAnywhere,開始本次打包的關鍵步驟
???? 0 選擇"Create New Project","Basic Project Template",點擊"Save as"選擇最后的保存路徑,以及項目名稱。next,next
????
???? A 添加文件,將tomcat-5.0.28,mysql-5.0.22,jdk1.5.0_15,服務 這四個文件夾添加進去,next,Advanced Designer
???? B 在install中,addAction 選擇"Create Alias,Link,Shortcut",在Path選項中選擇"Shortcut's Destionation Folder" 表示安裝到"開始"菜單中去,點擊Choose Target 選擇"服務"下"啟動服務.bat"
????
???? C 同B,對"服務"下"停止服務.bat"做相同操作。
????
???? D 在install中,addAction 選擇"Modify Text File - Single File" 點擊Choose Target 選擇"服務"文件夾下"啟動服務.bat"文件,選擇Prepend,寫入
net start mysql??
net start tomcat
???? E 在install中,addAction 選擇"Modify Text File - Single File" 點擊Choose Target 選擇"服務"文件夾下"停止服務.bat"文件,選擇Prepend,寫入
net stop tomcat
net stop mysql??
???? F 在Post-install中,addAction 選擇"Modify Text File - Single File" 點擊Choose Target 選擇tomcat-5.0.28/bin下service.bat,選擇Prepend,寫入
?? set JAVA_HOME=$USER_INSTALL_DIR$\jdk1.5.0_15
?? set CATALINA_HOME=$USER_INSTALL_DIR$\tomcat-5.0.28???? ??
???? G 在Post-install中,addAction 選擇"Modify Text File - Single File" 點擊Choose Target 選擇mysql下my.ini(如果沒有可以google一個),選擇Prepend,寫入
?? [mysqld]??
?? #設置basedir指向mysql的安裝路徑??
?? basedir=$USER_INSTALL_DIR$\mysql-5.0.22??
?? datadir=$USER_INSTALL_DIR$\mysql-5.0.22\data
?? default-character-set = UTF8
?? [WinMySQLAdmin]
?? Server=$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt.exe
?? user=root
?? password=root
注意:首先要刪除my.ini文件中的相應屬性的設置
???? H 在Post-install中,addAction 選擇"Execute Script/Batch file" 在Comment中取名為"注冊MySQL服務",在Script中寫入
????????? Call "$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt" -remove??
????????? Call "$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt" -install
???? I 在Post-install中,addAction 選擇"Execute Script/Batch file" 在Comment中取名為"注冊TOMCAT服務",在Script中寫入?????????
?? Call "$USER_INSTALL_DIR$\tomcat-5.0.28\bin\service.bat" remove tomcat
?? Call "$USER_INSTALL_DIR$\tomcat-5.0.28\bin\service.bat" install tomcat
???? J 在Post-Uninstall中,addAction 選擇"Execute Script/Batch file" 在Comment中取名為"注銷MySQL服務",在Script中寫入
?? Call net stop mysql
?? Call "$USER_INSTALL_DIR$\mysql-5.0.22\bin\mysqld-nt" -remove
???? K 在Post-Uninstall中,addAction 選擇"Execute Script/Batch file" 在Comment中取名為"注銷TOMCAT服務",在Script中寫入
?? Call net stop tomcat
?? Call "$USER_INSTALL_DIR$\tomcat-5.0.28\bin\service.bat" remove tomcat????
???
??? 注意:創建"Modify Text File - Single File"的時候把下面的"Create backup"取消。
?? 安裝的時候,整個安裝路徑上不能有空格的出現。不然就找不到JAVA_HOME,和CATALINA_HOME。
5. 開始打包,完成!
?
轉自: http://hi.baidu.com/annleecn/blog/item/50b3a4501c0240828d543051.html
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
