使用InstallAnywhere工具打包Java_Web程序
一、准备工作
1、 下载InstallAnywhere,并安装;
2、 下载解压版jdk1.7(示例为jdk1.7.0_75);
3、 下载解压版tomcat7.0以上版本(示例为apache-tomcat-7.0.72);
4、 下载解压版MySQL5.0以上的版本(示例为mysql-5.6.26);
5、 将web项目放在tomcat的webapps中,将该项目的数据库也同步到解压版的MySQL中,然后将jdk、tomcat、MySQL都放在某个盘的同一个文件夹中;
二、编写两个批处理文件,分别为“注册服务.bat”、“启动.bat”、“卸载前必点.bat”
注册服务.bat里的内容
echo "注册mysql服务"
cd mysql5.0\bin
mysqld -install mysql-iams
启动.bat里的内容
cd mysql5.0\bin
echo "启动mysql服务"
net start mysql-iams
cd..
cd..
cd apache-tomcat-7.0.72\bin
call startup.bat
卸载前必点.bat里的内容:
cd mysql5.0\bin
net stop mysql-iams
mysqld remove mysql-iams
cd..
cd..
cd apache-tomcat-7.0.72\bin
call shutdown.bat
三、建立project
打开InstallAnywhere,建立Typical Project Template,然后选择Advanced Designer,设置Title, Name等
四 、本地化语言
菜单Project>Locales>,选择需要的本地化语言。
五、设置环境变量
菜单Install>,按钮Add Action...>Set System Environment Variable>Add>,设JAVA_HOME和CATALINA_HOME,CATALINA_DIR,PATH 四个系统环境变量。其中$USER_INSTALL_DIR$表示用户选择的安装路径。
JAVA_HOME :$USER_INSTALL_DIR$\ jdk1.7.0_75
CATALINA_HOME:$USER_INSTALL_DIR$\ apache-tomcat-7.0.72
CATALINA_DIR:$USER_INSTALL_DIR$\ apache-tomcat-7.0.72\bin
PATH:$USER_INSTALL_DIR$\ jdk1.7.0_75\bin;$USER_INSTALL_DIR$\mysql5.0\bin;$USER_INSTALL_DIR$\apache-tomcat-7.0.72\bin;c:\windows\system32
然后把jdk,tomcat,mysql 通过按钮Add Files...添加进来放在 User Install Folder直接目录下,如图所示:

六、注册服务
1、菜单Post-Install>,按钮Add Action...>Execute Command>Add>,在安装完成后执行install.bat,注册Tomcat和MySQL服务。其中Command Line:cmd /c $USER_INSTALL_DIR$\install.bat $USER_INSTALL_DIR$。并且,选中Options中的3个选项。将该Execute Command移动到Panel: Install Complete前面。
2、然后添加按钮Add Action...>Motify Text File-Single File>Add>,然后在Installed file选中mysql安装目录下的my.in(如果没有这个文件,请先创建这样一个文件,内容为空),其中Additional Text选中第一个prepend,在文本框中输入:
# For advice on how to change settings please see
#http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#设置数据库引擎为INNODB
default-storage-engine=INNODB
# 设置mysql服务器编码
character_set_server=utf8
# 设置mysql服务器字符集
collation-server=utf8_general_ci
[client]
# 设置mysql客户端默认字符集
default-character-set = GBK
[WinMySQLAdmin]
Server = $USER_INSTALL_DIR$\mysql5.0\bin\mysqladmin.exe
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# 设置mysql的安装目录,如果目录中带空格则必须加引号
basedir=$USER_INSTALL_DIR$\mysql5.0
# 设置mysql数据库的数据的存放目录,文件夹名必须是data
datadir = $USER_INSTALL_DIR$\mysql5.0\data
# 允许最大连接数
max_connections=200
#设置3306端口
# port = 3306
# server_id = 1
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
将该Motify Text File-Single File移动到Panel: Install Complete后面。
3、然后添加按钮Add Action...>Excute Script/Batch file>Add>,其中Commnet:启动mysql(就是启动mysql的,可以是写任意东西,只有自己懂就行)
Script中输入:net start mysql
将该Excute Script/Batch file移动到Motify Text File-Single File后面。
七、让安装完成后启动浏览器,自动打开项目
菜单Post-Install>,按钮Add Action...>Launch Default Browser>Add>OtherUrl中填入项地址 localhost:8080/ProjectName,将该Launch Default Browser移动到Panel: Install Complete后面。
八、反安装
菜单Pre-Uninstall>,按钮Add Action>Execute Command>Add>。
Command Line: cmd /c $USER_INSTALL_DIR$\uninstall.bat $USER_INSTALL_DIR$
将该Execute Command移动到第一个。选中Options中的3个选项。
九、打包
菜单Build>,按钮Build Project>,等待InstallAnywhere打包完成。
完成以后,按钮Open in Explorer>,文件夹Web_Installers>InstData>Windows>VM>,install.exe就是完成的安装文件包。
使用InstallAnywhere工具打包Java_Web程序的更多相关文章
- install4j 工具为java程序打包exe
用 install4j 工具为java程序打包exe 制作人:mark 制作时间:2013-05-02 用Eclipse 将程序源码打包成jar文件. 打包jar方法我不做介绍了,相信大家都会,不会的 ...
- 【程序打包工具 Inno Setup】CreateProcess 失败:代码 740(Inno Setup打包的程序提升为管理员权限)
原文参考 https://www.cnblogs.com/SnailProgramer/p/4243666.html http://blog.csdn.net/x356982611/article/d ...
- 不需要用任何辅助工具打包Qt应用程序
不需要用任何辅助工具打包Qt应用程序.方法如下: 生成release文件后,双击里面的exe文件,会弹出一个对话框,里面提示缺少哪一个DLL文件, 然后根据该文件名到你安装QT软件的目录下的/b ...
- InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) 标签: InstallShieldVS2013 2015 ...
- win环境下,用虚拟化工具打包Qt动态编译exe的过程(使用Enigma Virtual Box)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://goldlion.blog.51cto.com/4127613/834075 引子 ...
- 使用Inno Setup 打包.NET程序,并自动安装.Net Framework
使用Inno Setup 打包.NET程序,并自动安装.Net Framework http://www.cnblogs.com/xiaogangqq123/archive/2012/03/19/24 ...
- vs2010打包winform程序详解
vs2010打包winform程序详解 最近一直在做winform程序,做完后程序打包很头疼,第三方打包工具,好用的花钱,不花钱的不好用,最后只能用vs自带的打包工具了! 打包过程vs2010(包 ...
- Windows如何打包Qt程序
很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...
- Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
原文:InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) InstallShield Limited Edi ...
随机推荐
- Linux命令:ps,netstat,top
ps ps用于查看当前运行的进程.如果想查看动态的进程信息,可以使用top命令.查看详细命令帮助使用man ps. ps最常用的选项组合就是ps aux: # ps aux USER PID %CPU ...
- BootStrap_04之jQuery插件(导航、轮播)、以及Less
1.列偏移与列排序: ①列偏移:控制列出现的位置,某列偏移后,后序列会随之偏移--只能右偏移: col-lg/md/sm/xs-offset-*; ②列排序:控制某一列的位置,该列可以左(pull)右 ...
- 编程之美—烙饼排序问题(JAVA)
一.问题描述 星期五的晚上,一帮同事在希格玛大厦附近的"硬盘酒吧"多喝了几杯.程序员多喝了几杯之后谈什么呢?自然是算法问题.有个同事说:"我以前在餐 馆打工,顾 ...
- Parallel并行之乱用
关于Parallel我也不细说了,一则微软封装的很好用,二来介绍这个的遍地都是. 我要说的是,要想成为一个优秀的标题党,一定要把重点放到别的地方,为了节省大家阅读时间,我先把结论说了,然后再慢慢从头说 ...
- 自己动手,实现一种类似List<T>的数据结构(二)
前言: 首先,小匹夫要祝各位看官圣诞快乐,新年愉快-.上一篇文章<自己动手,实现一种类似List<T>的数据结构(一)> 介绍了一下不依靠List<T>实现的各种接 ...
- MyCat源码分析系列之——BufferPool与缓存机制
更多MyCat源码分析,请戳MyCat源码分析系列 BufferPool MyCat的缓冲区采用的是java.nio.ByteBuffer,由BufferPool类统一管理,相关的设置在SystemC ...
- PHP基础知识第二趴
下期预告,函数...
- 静态代理和利用反射形成的动态代理(JDK动态代理)
代理模式 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 静态代理 1.新建 ...
- python之最强王者(6)——列表(List)
1.Python 列表(List) 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置 ...
- Java编程里的类和对象
像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了 ...