windows 打包Java web项目内容实现一键安装

来源:互联网 发布:孕妇尿常规数据分析 编辑:程序博客网 时间:2024/05/16 10:16


1.下载MySQLJDKTomcat

MySQL64

http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.26-winx64.zip

MySQL32

 http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.26-win32.zip

JDK64

http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-windows-x64.exe?AuthParam=1441529858_771aeb3e7d7a6230692b72cf748b612f

JDK32

http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-windows-i586.exe?AuthParam=1441527399_24e27670f8213dc1f3b5c010921c5810

Tomcat64

http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.26/bin/apache-tomcat-8.0.26-windows-x64.zip

Tomcat32

http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.0.26/bin/apache-tomcat-8.0.26-windows-x86.zip

 

  • 解压MySQLTomcat,安装JDK

    创建如下图的目录结构,jre是从JDK的安装目录(%JAVA_HOME%\jre)中拷贝过来的,mysql是直接解压缩下载的MySQL重命名根文件夹得到的,tomcat是直接解压下载的Tomcat重命名根文件夹得到的。

  • MySQL瘦身,解压后删除所有.pdb后缀内容,删除无用文件夹得到如下结构

2.编写批处理文件

下面是将javaWebConfig.bat拆分介绍,文章最后会附上完整版的javaWebConfig.bat

javaWebConfig.bat】头部&停止已存在的mysql服务&删除mysql服务

@echo off & setlocal EnableDelayedExpansionnet stop mysqlsc delete mysqlGOTO check80

javaWebConfig.bat】检查端口占用情况

:check80echo check port 80...for /f "tokens=3 delims=:, " %%i in ('netstat -ano') do (if "%%i" == "80" GOTO 80used)GOTO configBegin:80usedmshta vbscript:CreateObject("Wscript.Shell").popup("端口80被占用,请解除端口占用后重新启动",7,"提示",64)(window.close)exit /B 2

javaWebConfig.bat】配置启动mysql

:configBeginrem config mysql"%~dp0mysql\bin\mysqld" installecho [mysql]>"%~dp0mysql\my.ini"echo default-character-set=utf8>>"%~dp0mysql\my.ini"echo [mysqld]>>"%~dp0mysql\my.ini"echo port = 3306>>"%~dp0mysql\my.ini"echo max_connections=200>>"%~dp0mysql\my.ini"echo character-set-server=utf8>>"%~dp0mysql\my.ini"echo default-storage-engine=INNODB>>"%~dp0mysql\my.ini"echo sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES>>"%~dp0mysql\my.ini"echo key_buffer_size = 256M>>"%~dp0mysql\my.ini"echo max_allowed_packet = 1M>>"%~dp0mysql\my.ini"echo table_open_cache = 256>>"%~dp0mysql\my.ini"echo sort_buffer_size = 1M>>"%~dp0mysql\my.ini"echo read_buffer_size = 1M>>"%~dp0mysql\my.ini"echo read_rnd_buffer_size = 4M>>"%~dp0mysql\my.ini"echo myisam_sort_buffer_size = 64M>>"%~dp0mysql\my.ini"echo thread_cache_size = 8M>>"%~dp0mysql\my.ini"echo query_cache_size = 16M>>"%~dp0mysql\my.ini"echo basedir=%~dp0mysql>>"%~dp0mysql\my.ini"echo datadir=%~dp0mysql\data>>"%~dp0mysql\my.ini"net start mysql

javaWebConfig.bat】配置启动tomcat

echo @echo off>"%~dp0tomcat\bin\temp.bat"echo set JAVA_HOME=%~dp0jdk>>"%~dp0tomcat\bin\temp.bat"echo set JRE_HOME=%~dp0jdk\jre>>"%~dp0tomcat\bin\temp.bat"set j=0for /f "usebackq delims=""" %%i in ("%~dp0tomcat\bin\setclasspath.bat") do (set /a j+=1set con!j!=%%icall set a=%%con!j!%%if !j! NEQ 1 (echo !a!>>"%~dp0tomcat\bin\temp.bat"))del "%~dp0tomcat\bin\setclasspath.bat"ren "%~dp0tomcat\bin\temp.bat" setclasspath.batecho %~dp0rem start tomcatset CATALINA_HOME=%~dp0tomcatcall "%~dp0tomcat\bin\shutdown.bat"call "%~dp0tomcat\bin\startup.bat"

3.测试运行

javaWebConfig.bat放在mysqltomcatjdk同目录下,右键以管理员身份运行即可

 

附:javaWebConfig.bat

@echo off & setlocal EnableDelayedExpansionrem config preparenet stop mysqlsc delete mysqlGOTO check80rem check ports if available:check80echo check port 80...for /f "tokens=3 delims=:, " %%i in ('netstat -ano') do (if "%%i" == "80" GOTO 80used)GOTO check21:80usedmshta vbscript:CreateObject("Wscript.Shell").popup("端口80被占用,请解除端口占用后重新启动",7,"提示",64)(window.close)exit /B 2:check21echo check port 21...for /f "tokens=3 delims=:, " %%i in ('netstat -ano') do (if "%%i" == "21" GOTO 21used)GOTO check3131:21usedmshta vbscript:CreateObject("Wscript.Shell").popup("端口21被占用,请解除端口占用后重新启动",7,"提示",64)(window.close)exit /B 2:check3131echo check port 3131...for /f "tokens=3 delims=:, " %%i in ('netstat -ano') do (if "%%i" == "3131" GOTO 3131used)GOTO check5151:3131usedmshta vbscript:CreateObject("Wscript.Shell").popup("端口3131被占用,请解除端口占用后重新启动",7,"提示",64)(window.close)exit /B 2:check5151echo check port 5151...for /f "tokens=3 delims=:, " %%i in ('netstat -ano') do (if "%%i" == "5151" GOTO 5151used)GOTO configBegin:5151usedmshta vbscript:CreateObject("Wscript.Shell").popup("端口5151被占用,请解除端口占用后重新启动",7,"提示",64)(window.close)exit /B 2 rem config tomcatecho @echo off>"%~dp0tomcat\bin\temp.bat"echo set JAVA_HOME=%~dp0jdk>>"%~dp0tomcat\bin\temp.bat"echo set JRE_HOME=%~dp0jdk\jre>>"%~dp0tomcat\bin\temp.bat"set j=0for /f "usebackq delims=""" %%i in ("%~dp0tomcat\bin\setclasspath.bat") do (set /a j+=1set con!j!=%%icall set a=%%con!j!%%if !j! NEQ 1 (echo !a!>>"%~dp0tomcat\bin\temp.bat"))del "%~dp0tomcat\bin\setclasspath.bat"ren "%~dp0tomcat\bin\temp.bat" setclasspath.batecho %~dp0rem start tomcatset CATALINA_HOME=%~dp0tomcatcall "%~dp0tomcat\bin\shutdown.bat"call "%~dp0tomcat\bin\startup.bat"

2 0
原创粉丝点击