平台打包整合成exe安装部署(java+mysql+tomcat+war)
在windows的環境上做一鍵部署啟動java項目!
準備工作:
1、下載免安裝的Mysql5.7、Tomcat6.0、JDK1.7
(根據電腦系統類型選擇對應的位數,根據項目選擇版本!大同小異)
2、下載Inno Setup打包工具(http://www.jrsoftware.org/isdl.php)
3、測試用的虛擬機,Windows Server 2012 R2系統
開始:
1、文件放置
建立一個文件夾,把解壓文件全部放到該目錄下:
java JDK放到了tomcat里邊(后來知道了,位置不重要,bat文件中管理好路徑即可,不想改了。jdk下不到免安裝版可以直接復制安裝的)
war包放到tomcat\webapps下(測試時建議先不要放,環境沒問題了再放)
2、配置mysql
mysql解壓后建立my.ini文件和data文件夾(文件夾不要放東西,否則注冊服務會有問題:initialize specified but the data directory has files in it. Aborting.idata目錄下有文件了,所以格式化失敗),放在mysql根目錄下
在bin文件下建立mysql_init.bat文件。
mysql_init.bat內容如下:
首先是注冊服務,然后啟動服務,修改密碼,創建數據庫,導入文件。
changePsd.sql,create.sql,guncab.sql(項目數據庫文件)位置如下:
changePsd.sql內容如下:
use mysql; select 'host' from user where user='root'; update user set host = '%' where user ='root'; flush privileges; select 'host' from user where user='root'; ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;create.sql內容如下:創建guncab數據庫。
CREATE DATABASE guncab;“%cd%\bin\mysql.exe” -uroot -p123456 guncab< “%cd%\guncab.sql”
數據庫的名稱,根據自己數據庫的名稱進行修改。
3、配置JDK環境變量
在tomcat根目錄下,建立set_env.bat文件,目的是配置java環境變量。
set_env.bat文件內容:
4.配置Tomcat
tomcat/bin目錄下建立tomcat_start.bat文件。
tomcat_start.bat文件內容:
在這里有一個坑,先寫一下,如果不修改service.bat,最后打包成的exe文件安裝后,net start tomcat6 這部啟動不起來,查找了好多資料,個人認為其實就是java環境配置了但未生效導致,所以要在service.bat中@echo off后添加下邊代碼。
setlocal rem 添加java路徑,第一次啟動服務就可以了 set LOCA_LHOME=%~dp0 set JAVA_HOME=%LOCA_LHOME%java\jdk1.7.0_80 set JRE_HOME=%LOCA_LHOME%java\jdk1.7.0_80\jre5.配置Inno setup
Inno setup軟件具體使用,自行琢磨。準備一個guncab.ico文件,作為生成exe的圖標。[Run]下邊的按順序執行,我的配置:
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "項目名稱" #define MyAppVersion "版本號" #define MyAppPublisher "公司名" #define MyAppURL "公司網址"; 基本配置 [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) ; 單獨標識,可以通過 工具自動生成 點擊工具--- 生成GUID AppId={{CA54341C-6F6A-4C4F-BB9B-EFA6C8786387}} AppName={#MyAppName} AppVersion={#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} ; 默認安裝路徑 DefaultDirName=C:\guncab DefaultGroupName={#MyAppName} ; 軟件名稱 OutputBaseFilename=guncab ; 軟件圖標 SetupIconFile=C:\guncab\guncab.ico ; 壓縮方式 Compression=lzma ; yes 可以使文件更小 SolidCompression=yes ; 必需有管理員權限才能安裝 PrivilegesRequired=admin ; 安裝密碼 ;Password=itdragon ; 開啟加密,可能還需要一個dll文件 ;Encryption=yes; 語言配置 [Languages] Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"; 安裝文件 [Files] ; 安裝部署的源文件路徑(一種全部,一種分開) ; Source: "C:\guncab\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;拷貝tomcat Source:"C:\guncab\apache-tomcat-6.0.53\*";DestDir:"{app}\apache-tomcat-6.0.53";Flags:igNoreversion recursesubdirs createallsubdirs ;拷貝mysql Source:"C:\guncab\mysql-5.7.28-winx64\*";DestDir:"{app}\mysql-5.7.28-winx64";Flags:igNoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files; 快捷鍵 [Icons] Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" Name: "{commondesktop}\系統名稱"; Filename: http://localhost:8080/guncab/ ;Name: "{commondesktop}\啟動服務"; Filename: "{app}\apache-tomcat-6.0.53\bin\startup.bat"[INI] ;修改數據庫配置文件 Filename:"{app}\mysql-5.7.28-winx64\my.ini";Section:"mysqld";Key:"basedir"; String:"{app}\mysql-5.7.28-winx64" Filename:"{app}\mysql-5.7.28-winx64\my.ini";Section:"mysqld";Key:"datadir"; String:"{app}\mysql-5.7.28-winx64\data" Filename:"{app}\mysql-5.7.28-winx64\my.ini";Section:"mysqld";Key:"port"; String:"3306" Filename:"{app}\mysql-5.7.28-winx64\my.ini";Section:"client";Key:"port"; String:"3306"; 程序安裝成功后執行以下服務腳本 [Run] Filename: "{app}\apache-tomcat-6.0.53\set_env.bat"; Filename: "{app}\mysql-5.7.28-winx64\bin\mysql_init.bat"; Filename: "{app}\apache-tomcat-6.0.53\bin\tomcat_start.bat"; ; 指定在卸載第一步要執行以下服務腳本 [UninstallRun] Filename: "{app}\mysql-5.7.28-winx64\bin\mysql_delete.bat";[UninstallDelete] Type:filesandordirs;Name:"{app}\apache-tomcat-6.0.53" Type:filesandordirs;Name:"{app}\mysql-5.7.28-winx64"修改好guncab.iss文件,執行編譯,沒問題后就會輸出Output文件夾,內含exe文件。
此處再說一下,[UninstallRun],建立mysql_delete.bat文件,卸載軟件會執行此文件。
mysql_delete.bat放在mysql-5.7.28-winx64\bin目錄下,內容如下,
另外:新安裝系統可能會缺少文件,vc++環境,建議先用DirectXRepair修復一下。
總結
以上是生活随笔為你收集整理的平台打包整合成exe安装部署(java+mysql+tomcat+war)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: put请求方式参数如何传_TP5请求(r
- 下一篇: discuz修改用户uid_你知道Lin