自Javaweb系统打包成exe安装文件.docx

上传人:b****5 文档编号:8139364 上传时间:2023-01-29 格式:DOCX 页数:31 大小:159.22KB
下载 相关 举报
自Javaweb系统打包成exe安装文件.docx_第1页
第1页 / 共31页
自Javaweb系统打包成exe安装文件.docx_第2页
第2页 / 共31页
自Javaweb系统打包成exe安装文件.docx_第3页
第3页 / 共31页
自Javaweb系统打包成exe安装文件.docx_第4页
第4页 / 共31页
自Javaweb系统打包成exe安装文件.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

自Javaweb系统打包成exe安装文件.docx

《自Javaweb系统打包成exe安装文件.docx》由会员分享,可在线阅读,更多相关《自Javaweb系统打包成exe安装文件.docx(31页珍藏版)》请在冰豆网上搜索。

自Javaweb系统打包成exe安装文件.docx

自Javaweb系统打包成exe安装文件

Javaweb系统打包成exe安装文件

一、工具准备

1、NSIS打包工具:

下载并安装;

2、NSIS安装脚本的编辑器HMNISEditor:

.net下载并安装

二、运行环境准备—JDK

1、新建打包用的文件夹(本人是在D盘根目录下创建的webExe,即D:

\webExe);

2、JDK本人用的是jdk-6u18,将安装好的JDK目录直接拷贝到目录webExe下就行(绿色版本的也可以)。

三、应用程序准备—Tomcat及web应用系统

1、免安装版本的tomcat,本人用的是apache-tomcat-6.0.35,将其放到目录webExe下,并将Web应用系统发布进webapps中。

四、数据库准备—mysql及数据

1、下载一个免安装版本的mysql(本人操作系统是WIN732位,下载的是mysql-noinstall-v5.1.55.zip),解压缩到D盘;

2、将主目录名mysql-5.1.55-win32修改为简单的mysql5(不修改也行,建议修改简单);

3、找到文件my-small.ini改名为my.ini(也可以是将my-huge.ini、my-large.ini、my-medium.ini中任意一个改名为my.ini);

4、将my.ini打开进行配置:

#ThefollowingoptionswillbepassedtoallMySQLclients

[client]

#password=your_password

port=3306

socket=MySQL

default-character-set=utf8--客户端编码  

#Herefollowsentriesforsomespecificprograms

#TheMySQLserver

[mysqld]

port=3306

socket=MySQL

default-character-set=utf8--服务器端

basedir=D:

/mysql5--路径

datadir=D:

/mysql5/data--数据库路径

default-storage-engine=MyISAM--默认数据库引擎为MyISAM

5、在本地启动服务,导入数据库及数据

(如果本机已经安装了mysql,记得关掉当前的服务)

运行cmd.exe进入DOS窗口,进到D:

\mysql5\bin目录

注册服务:

mysqld--installmysql5--defaults-file=d:

\mysql5\my.ini

可能会出现Install/RemoveoftheServiceDenied!

错误,这时要关闭DOS窗口,以管理员的身份运行cmd.exe程序。

启动服务:

netstartmysql5

使用命令或mysql第三方客户端,创建数据库并导入数据

停止服务:

netstopmysql5

参考图片—

6、停止服务后,将mysql5整个目录剪切到目录webExe下

五、打包脚本准备

1、当前目录情况如下图:

2、脚本文件AddPath.nsh(复制到编辑器HMNISEdit中保存)

!

ifndef_AddToPath_nsh

!

define_AddToPath_nsh

!

verbose3

!

include"WinMessages.NSH"

!

verbose4

!

ifndefWriteEnvStr_RegKey

!

ifdefALL_USERS

!

defineWriteEnvStr_RegKey\

'HKLM"SYSTEM\CurrentControlSet\Control\SessionManager\Environment"'

!

else

!

defineWriteEnvStr_RegKey'HKCU"Environment"'

!

endif

!

endif

;AddToPath-Addsthegivendirtothesearchpath.

;Input-headofthestack

;Note-Win9xsystemsrequiresreboot

FunctionAddToPath

Exch$0

Push$1

Push$2

Push$3

#don'taddifthepathdoesn'texist

If"$0\*.*"""AddToPath_done

ReadEnvStr$1PATH

Push"$1;"

Push"$0;"

CallStrStr

Pop$2

StrCmp$2""""AddToPath_done

Push"$1;"

Push"$0\;"

CallStrStr

Pop$2

StrCmp$2""""AddToPath_done

GetFullPathName/SHORT$3$0

Push"$1;"

Push"$3;"

CallStrStr

Pop$2

StrCmp$2""""AddToPath_done

Push"$1;"

Push"$3\;"

CallStrStr

Pop$2

StrCmp$2""""AddToPath_done

CallIsNT

Pop$1

StrCmp$11AddToPath_NT

;NotonNT

StrCpy$1$WINDIR2

$1"$1\autoexec.bat"a

$1-1END

$1$2

IntCmp$2260+2+2#DOSEOF

$1-1END#writeoverEOF

$1"$\r$\nSETPATH=%PATH%;$3$\r$\n"

$1

SetRebootFlagtrue

GotoAddToPath_done

AddToPath_NT:

ReadRegStr$1${WriteEnvStr_RegKey}"PATH"

StrCmp$1""AddToPath_NTdoIt

Push$1

CallTrim

Pop$1

StrCpy$0"$1;$0"

AddToPath_NTdoIt:

WriteRegExpandStr${WriteEnvStr_RegKey}"PATH"$0

SendMessage${HWND_BROADCAST}${WM_WININICHANGE}0"STR:

Environment"/TIMEOUT=5000

AddToPath_done:

Pop$3

Pop$2

Pop$1

Pop$0

FunctionEnd

;RemoveFromPath-Removeagivendirfromthepath

;Input:

headofthestack

Functionun.RemoveFromPath

Exch$0

Push$1

Push$2

Push$3

Push$4

Push$5

Push$6

IntFmt$6"%c"26#DOSEOF

Callun.IsNT

Pop$1

StrCmp$11unRemoveFromPath_NT

;NotonNT

StrCpy$1$WINDIR2

$1"$1\autoexec.bat"r

GetTemp$4

$2$4w

GetFullPathName/SHORT$0$0

StrCpy$0"SETPATH=%PATH%;$0"

GotounRemoveFromPath_dosLoop

unRemoveFromPath_dosLoop:

$1$3

StrCpy$5$31-1#readlastchar

StrCmp$5$60+2#ifDOSEOF

StrCpy$3$3-1#removeDOSEOFsowecancompare

StrCmp$3"$0$\r$\n"unRemoveFromPath_dosLoopRemoveLine

StrCmp$3"$0$\n"unRemoveFromPath_dosLoopRemoveLine

StrCmp$3"$0"unRemoveFromPath_dosLoopRemoveLine

StrCmp$3""unRemoveFromPath_dosLoopEnd

$2$3

GotounRemoveFromPath_dosLoop

unRemoveFromPath_dosLoopRemoveLine:

SetRebootFlagtrue

GotounRemoveFromPath_dosLoop

unRemoveFromPath_dosLoopEnd:

$2

$1

StrCpy$1$WINDIR2

Delete"$1\autoexec.bat"

CopyFiles/SILENT$4"$1\autoexec.bat"

Delete$4

GotounRemoveFromPath_done

unRemoveFromPath_NT:

ReadRegStr$1${WriteEnvStr_RegKey}"PATH"

StrCpy$5$11-1#copylastchar

StrCmp$5";"+2#iflastchar!

=;

StrCpy$1"$1;"#append;

Push$1

Push"$0;"

Callun.StrStr;Find`$0;`in$1

Pop$2;posofourdir

StrCmp$2""unRemoveFromPath_done

;else,itisinpath

#$0-pathtoadd

#$1-pathvar

StrLen$3"$0;"

StrLen$4$2

StrCpy$5$1-$4#$5isnowthepartbeforethepathtoremove

StrCpy$6$2""$3#$6isnowthepartafterthepathtoremove

StrCpy$3$5$6

StrCpy$5$31-1#copylastchar

StrCmp$5";"0+2#iflastchar==;

StrCpy$3$3-1#removelastchar

WriteRegExpandStr${WriteEnvStr_RegKey}"PATH"$3

SendMessage${HWND_BROADCAST}${WM_WININICHANGE}0"STR:

Environment"/TIMEOUT=5000

unRemoveFromPath_done:

Pop$6

Pop$5

Pop$4

Pop$3

Pop$2

Pop$1

Pop$0

FunctionEnd

;AddToEnvVar-Addsthegivenvaluetothegivenenvironmentvar

;Input-headofthestack$0environementvariable$1=valuetoadd

;Note-Win9xsystemsrequiresreboot

FunctionAddToEnvVar

Exch$1;$1hasenvironmentvariablevalue

Exch

Exch$0;$0hasenvironmentvariablename

DetailPrint"Adding$1to$0"

Push$2

Push$3

Push$4

ReadEnvStr$2$0

Push"$2;"

Push"$1;"

CallStrStr

Pop$3

StrCmp$3""""AddToEnvVar_done

Push"$2;"

Push"$1\;"

CallStrStr

Pop$3

StrCmp$3""""AddToEnvVar_done

CallIsNT

Pop$2

StrCmp$21AddToEnvVar_NT

;NotonNT

StrCpy$2$WINDIR2

$2"$2\autoexec.bat"a

$2-1END

$2$3

IntCmp$3260+2+2#DOSEOF

$2-1END#writeoverEOF

$2"$\r$\nSET$0=%$0%;$4$\r$\n"

$2

SetRebootFlagtrue

GotoAddToEnvVar_done

AddToEnvVar_NT:

ReadRegStr$2${WriteEnvStr_RegKey}$0

StrCpy$3$21-1#copylastchar

StrCmp$3";"0+2#iflastchar==;

StrCpy$2$2-1#removelastchar

StrCmp$2""AddToEnvVar_NTdoIt

StrCpy$1"$2;$1"

AddToEnvVar_NTdoIt:

WriteRegExpandStr${WriteEnvStr_RegKey}$0$1

SendMessage${HWND_BROADCAST}${WM_WININICHANGE}0"STR:

Environment"/TIMEOUT=5000

AddToEnvVar_done:

Pop$4

Pop$3

Pop$2

Pop$0

Pop$1

FunctionEnd

;RemoveFromEnvVar-Removeagivenvaluefromaenvironmentvar

;Input:

headofthestack

Functionun.RemoveFromEnvVar

Exch$1;$1hasenvironmentvariablevalue

Exch

Exch$0;$0hasenvironmentvariablename

DetailPrint"Removing$1from$0"

Push$2

Push$3

Push$4

Push$5

Push$6

Push$7

IntFmt$7"%c"26#DOSEOF

Callun.IsNT

Pop$2

StrCmp$21unRemoveFromEnvVar_NT

;NotonNT

StrCpy$2$WINDIR2

$2"$2\autoexec.bat"r

GetTemp$5

$3$5w

GetFullPathName/SHORT$1$1

StrCpy$1"SET$0=%$0%;$1"

GotounRemoveFromEnvVar_dosLoop

unRemoveFromEnvVar_dosLoop:

$2$4

StrCpy$6$41-1#readlastchar

StrCmp$6$70+2#ifDOSEOF

StrCpy$4$4-1#removeDOSEOFsowecancompare

StrCmp$4"$1$\r$\n"unRemoveFromEnvVar_dosLoopRemoveLine

StrCmp$4"$1$\n"unRemoveFromEnvVar_dosLoopRemoveLine

StrCmp$4"$1"unRemoveFromEnvVar_dosLoopRemoveLine

StrCmp$4""unRemoveFromEnvVar_dosLoopEnd

$3$4

GotounRemoveFromEnvVar_dosLoop

unRemoveFromEnvVar_dosLoopRemoveLine:

SetRebootFlagtrue

GotounRemoveFromEnvVar_dosLoop

unRemoveFromEnvVar_dosLoopEnd:

$3

$2

StrCpy$2$WINDIR2

Delete"$2\autoexec.bat"

CopyFiles/SILENT$5"$2\autoexec.bat"

Delete$5

GotounRemoveFromEnvVar_done

unRemoveFromEnvVar_NT:

ReadRegStr$2${WriteEnvStr_RegKey}$0

StrCpy$6$21-1#copylastchar

StrCmp$6";"+2#iflastchar!

=;

StrCpy$2"$2;"#append;

Push$2

Push"$1;"

Callun.StrStr;Find`$1;`in$2

Pop$3;posofourdir

StrCmp$3""unRemoveFromEnvVar_done

;else,itisinpath

#$1-pathtoadd

#$2-pathvar

StrLen$4"$1;"

StrLen$5$3

StrCpy$6$2-$5#$6isnowthepartbeforethepathtoremove

StrCpy$7$3""$4#$7isnowthepartafterthepathtoremove

StrCpy$4$6$7

StrCpy$6$41-1#copylastchar

StrCmp$6";"0+2#iflastchar==;

StrCpy$4$4-1#removelastchar

WriteRegExpandStr${WriteEnvStr_RegKey}$0$4

;deleteregvalueifnull

StrCmp$4""0+2#ifnulldeletereg

DeleteRegValue${WriteEnvStr_RegKey}$0

SendMessage${HWND_BROADCAST}${WM_WININICHANGE}0"STR:

Environment"/TIMEOUT=5000

unRemoveFromEnvVar_done:

Pop$7

Pop$6

Pop$5

Pop$4

Pop$3

Pop$2

Pop$1

Pop$0

FunctionEnd

!

ifndefIsNT_KiCHiK

!

defineIsNT_KiCHiK

###########################################

#UtilityFunctions#

###########################################

;IsNT

;noinput

;output,topofthestack=1ifNTor0ifnot

;

;Usage:

;CallIsNT

;Pop$R0

;($R0atthispointis1or0)

!

macroIsNTun

Function${un}IsNT

Push$0

ReadRegStr$0HKLM"SOFTWARE\Microsoft\WindowsNT\CurrentVersion"CurrentVersion

StrCmp$0""0IsNT_yes

;wearenotNT.

Pop$0

Push0

Return

IsNT_yes:

;NT!

!

!

Pop$0

Push1

FunctionEnd

!

macroend

!

insertmacroIsNT""

!

insertmacroIsNT"un."

!

endif;IsNT_KiCHiK

;StrStr

;input,topofstack=stringtosearchfor

;topofstack-1=stringtosearchin

;output,topofstack(replaceswiththeportionofthestringremaining)

;modifiesnoothervariables.

;

;Usage:

;Push"thisisalongassstring"

;Push"ass"

;CallStrStr

;Pop$R0

;($R0atthispointis"assstring")

!

macroStrStrun

Function${un}StrStr

Exch$R1;st=haystack,old$R1,$R1=needle

Exch;st=old$R1,haystack

Exch$R2;st=old$R1,old$R2,$R2=haystack

Push$R3

Push$R4

Push$R5

StrLen$R3$R1

StrCpy$R40

;$R1=needle

;$R2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1