现在有这样一个J2EE项目,使用tomcat + mysql 开发,开发完成后,客户要求打包成安装程序,要求客户机器在没有任何开发环境下也能运行该项目
打包步骤如下:
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中,配置server.xml虚拟目录和端口号。
3. 建立一个文件夹,取名为"service",在该文件夹下建立2个批处理文件,分别取名为:"startup.bat" 和"startdown.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,service 这四个文件夹添加进去,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
B、在%TOMCAT_HOME%/bin目录中的startup.bat和shutdown.bat文件的开头追加以下内容:
set CURRENT_DIR=$USER_INSTALL_DIR$/Tomcat5.5
说明:有了上述追加的内容后,startup.bat文件和shutdown.bat头部会自动添加设置CURRENT_DIR 代码,这个CURRENT_DIR为当前安装路径。
C、在%TOMCAT_HOME%/bin目录中的catalina.bat文件的开头追加以下内容:
set JAVA_HOME=$USER_INSTALL_DIR$/java/jdk1.5.0_07
set CURRENT_DIR=$USER_INSTALL_DIR$/Tomcat5.5/bin
说明:B、C是将jdk和tomcat关联起来
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. 开始打包,完成!
三、下载安装文件
在 CHWAS_Build_Output 文件夹最里层有install.htm,打开即可下载要安装的文件。安装即可。
其他注意事项:
1. 路径中千万不要出现空格。如CURRENT_DIR=$USER_INSTALL_DIR$/Tomcat5.5写成
CURRENT_DIR= $USER_INSTALL_DIR$/Tomcat5.5就会导致路径设置错误。
2. 启动服务后报以下错误
The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
catalina_home设置有误。可能是Startup.bat 文件有问题,根据需要看catalina_home设置是否有误。
或者是上1的原因。