Co.

需求

客户设备为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 omcatin”下。

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

Tomcat

JDK

2.1 写jdk的批处理脚本,放在“D: estapache-tomcat-8.0.29inJavajdk1.8.0_151in”下

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

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

```

@echo off
echo
cd ..
echo  "%~dp0"
echo "%cd%"
set jdkpath=%cd%apache-tomcat-8.0.29inJavajdk1.8.0_151
echo %jdkpath%
setx JAVA_HOME  "%jdkpath%"  -m     
setx CLASSPATH  ".;%%JAVA_HOME%%lib	ools.jar;%%JAVA_HOME%%libdt.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_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment" /v Path /t REG_SZ /d "%Path%;%%JAVA_HOME%%in;%%JAVA_HOME%%jrein" /f
setx Path "%%JAVA_HOME%%in;%Path%"
)
exit

 MySQL

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


MySQL 批处理脚本,位置 “D: estmysql-5.5.40-winx64in”下

> 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:	estmysql-5.5.40-winx64my.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%inmysql.exe" -uroot -proot < "%cd%datassm_work.sql"
echo 建表完毕
pause;
echo 建立新用户完毕

 Inno setup

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

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

 ## 总结

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

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

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

原文地址:https://www.cnblogs.com/aftree/p/9888817.html