需求

客户设备为Windows系统,需要部署公司产品,因此将Tomcat、JDK、MySQL、Java.war 打包整合成exe文件,Windows下一键部署安装。

最佳实践

1、下载免安装的mysql、tomcat、jdk
2、下载Inno Setup 打包工具
3、我在D盘建了个文件夹,命名为dabao ; D:\dabao
4、把下载好的mysql、tomcat一起复制到“D:\dabaot”下;  
5、把下载好的jdk放在“D:\dabao\tomcat\bin”下。

6、必须熟悉Windows手动安装时的流程,配置文件的配置,添加程序为系统服务。

Tomcat

JDK

2.1 写jdk的批处理脚本,放在“D:\test\apache-tomcat-8.0.29\bin\Java\jdk1.8.0_151\bin”下

========autoInstallJDK.bat  start========

> 设置JDK环境变量,并验证是否成功,如果设置失败,则 reg 操作注册表,添加相应环境变量

```

@echo off
echo
cd ..
echo "%~dp0"
echo "%cd%"
set jdkpath=%cd%\apache-tomcat-8.0.29\bin\Java\jdk1.8.0_151
echo %jdkpath%
setx JAVA_HOME "%jdkpath%" -m
setx CLASSPATH ".;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar" -m
echo %Path%
echo %Path%|find /i "%java_home%" && set IsNull=true || set IsNull=false
echo %IsNull%
if not %IsNull%==true (
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_SZ /d "%Path%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin" /f
setx Path "%%JAVA_HOME%%\bin;%Path%"
)
exit

MySQL

1.下载的免安装MySQL没有my.ini文件,需要创建
2.需要导入sql数据库
3.配置MySQL
    初始化数据库
    添加到系统服务:将MySQL服务配置到Windows服务列表,可以进行服务的管理
    启动MySQL服务,net start mysql

MySQL 批处理脚本,位置 “D:\test\mysql-5.5.40-winx64\bin”下

> mysqld 初始化数据库,使用自己的my.ini安装数据库,并启动。
> 连接数据库设置密码,导入.sql文件。

```

cd /d %~dp0
"%cd%\mysqld.exe" --initialize-insecure --user=mysql --console
echo -----mysql init succee-----
pause;
mysqld install mysql --defaults-file="D:\test\mysql-5.5.40-winx64\my.ini
echo -----mysql service install succee-----
pause; net start mysql sc config mysql start=auto
net stop mysql net start mysql
echo 安装完毕
pause;
"%cd%\mysqladmin" -u root password root
echo 修改密码完毕
pause;
cd ..
"%cd%\bin\mysql.exe" -uroot -proot < "%cd%\data\ssm_work.sql"
echo 建表完毕
pause;
echo 建立新用户完毕

Inno setup

1、在“D:\test”下创建一个.iss后缀的文件,然后复制我下面给出的文件内容,修改并执行它,工具就会在当前目录创建一个名为“Output”文件夹,里面存有一个.exe的安装包。

> 至此,整合全部结束,可以分发一键部署新项目。

## 总结

可能会遇到的问题,如何去解决:

1、安装包没安装成功,根据弹出的错误提示,去看是从哪里出错,然后再到那一个点来解决它;

2、安装成功后启动程序出现mysql、tomcat或者jdk有问题,可以根据日志去找找失败的原因,英文不懂可以找翻译软件翻译,这很关键。

Co. - Microsoft - Windows - Tomcat、JDK、MySQL通过 Inno 集成为exe部署包的更多相关文章

  1. tomcat+jdk+mysql

    转自 http://www.cnblogs.com/liulinghua90/ ,写的很详细,转来共享私藏 按照下面的步骤一步一步来搭建tomcat+jdk+mysql环境.   [Linux环境]- ...

  2. Tomcat JDK MySql 安装配置

    Tomcat 7绿色版指定jdk并注册服务  https://blog.csdn.net/weixin_43976019/article/details/89386171   例如:service.b ...

  3. MySQL 8 InnoDB 集群生产部署

    生产部署InnoDB集群 1.先决条件 InnoDB集群使用组复制技术,所以InnoDB中的实例需要满足组复制要求.可以查看MySQL文档中组复制相关的部分,也可以通过AdminAPI提供的dba.c ...

  4. Vagrant搭建Ubuntu-JavaEE开发环境——Tomcat+JDK+MySQL+dubbo+测试

    Vagrant搭建(Tomcat8+JDK7+MySQL5+dubbo) JDK 1.下载jdk 2.解压JDK tar -xzvf jdk-7u79-linux-x64.tar.gz 3.设置环境变 ...

  5. 腾讯云centos7服务器环境搭建,tomcat+jdk+mysql+nginx

    软件:jdk 1.8.0_45 tomcat 8.5.8 mysql 5.6.36 nginx 1.10.x或以上 其中tomcat在centos6.8中没问题,centos7中会出现卡在启动那里 I ...

  6. Linux Ubuntu从零开始部署web环境及项目 -----tomcat+jdk+mysql (二)

    上一篇介绍如何在linux系统下搭建ssh环境 这篇开始将如何搭建web服务器 1,下载文件 在官网下载好 tomcat.jdk.mysql的linux压缩包 后缀名为.tar.gz 并通过xftp上 ...

  7. Linux Ubuntu部署web环境及项目tomcat+jdk+mysql

    1,下载文件 在官网下载好 tomcat.jdk.mysql的linux压缩包 后缀名为.tar.gz 并通过xftp上传到服务器 或者直接通过linux命令 下在wget文件的下载地址 例如: wg ...

  8. Linux 下tomcat+jdk+mysql安装

    JDK 1.用xftp把 jdk1.8.0_65上传到local下 给他赋予最高权限 1)切换到顶级目录    cd ~ 2)然后切换到上级目录 cd .. 3)切换到local路径下  cd /us ...

  9. win10教育版激活错误:在运行 Microsoft Windows 非核心版本的计算机上,运行"slui.exe ...”

    折腾了一天,最终轻松解决,先启用Software Protection服务,在激活(密钥或者工具都行). PS:但是这样还是无法解决Software Protection自动停止的问题,这个可以参考网 ...

随机推荐

  1. 小程序 - 图片列表显示lazyload效果

    在做一个短视频平台,涉及到的都是一些列表模块.因为小程序没有提供lazyload api,所以只能自己写一个了... 开发涉及 <scroll-view></scroll-view& ...

  2. 超级表格:要山寨Excel,还是与之Say Byebye?

    创业产品难免被人拿来与现有的知名产品比较,创业者也喜欢把自己的产品与现有的知名产品比较. 我,超级表格创始人,对此有话说. 当我要在各种场合描述超级表格是什么时,也纠结过. 向用户描述时,说超级表格类 ...

  3. python 序列化,常用模块

    生成器与迭代器 生成器 在 Python 中,使用了 yield 的函数被称为生成器(generator). 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是 ...

  4. xcode选择开发者时"The Apple Developer Program License Agreement has been updated"

    解决方法:进入开发者中心查看红色提示信息,同意就行

  5. 【NLP_Stanford课堂】语言模型1

    一.语言模型 旨在:给一个句子或一组词计算一个联合概率 作用: 机器翻译:用以区分翻译结果的好坏 拼写校正:某一个拼错的单词是这个单词的概率更大,所以校正 语音识别:语音识别出来是这个句子的概率更大 ...

  6. dedecms 权重排序问题

    isweight='y' orderway='asc'  orderby='weight'  依次进入根目录>dede 找到打开文件 album_edit.php   //找到更新数据库的SQL ...

  7. 关于Java中截取字符串

    获取系统时间:to_char(sysdate,'yyyy-mm-dd')截取CREATETIME常量的前10位字符串:CREATETIME.substring(0,10)截取DESCRIPT常量的前2 ...

  8. JS:jquery插件表格单元格合并.

    公司需要用到单元格合并,于是动手封装了一个简单的jquery插件,封装的函数是直接写好转的,请多多提意见看代码是否有优化的地方..... 截图: 代码: /* * mergeTable 0.1 * C ...

  9. 【[SCOI2012]喵星球上的点名】

    好题啊 \(SA+ST\text{表}+\text{莫队}\) 我们先强行把所有的串连起来,串与串之间插入特殊字符,姓和名之间也插入特殊字符 之后跑一遍\(SA\),求出\(sa\)和\(het\) ...

  10. luogu P2424 约数和

    嘟嘟嘟 求出[L, R]中每一个数的约数再相加必定会超时,所以换一种思路:枚举约数d. 对于一个约数d,能整除他的数可以写成k * d, (1 <= k <= ⌊n / d⌋),因此约数d ...