最近做了一個小的web應用,客戶那邊都不常用java環(huán)境,讓他們安裝、配置java、tomcat環(huán)境對他們來說太難為他們了,
所以花了點時間研究了下exe文件的制作,將java web應用制作成exe文件,并打包了jre環(huán)境,最后生成啟動服務器的快捷方式、
打開IE的快捷方式,感覺這樣就成了傻瓜型的了,^!^ 由于上網(wǎng)找資料花了不少時間,想著方便那些有類似需要的朋友,就
在此總結(jié)一下,希望能幫助到別人吧。

  在一個沒有java環(huán)境的系統(tǒng)中(此處只應用于windows),要執(zhí)行web應用,需要jdk、tomcat(服務器),我是將機器上裝的jdk目錄、
tomcat目錄拷貝到一個目錄,還有數(shù)據(jù)庫客戶端,這里用的hsql,就不詳細說了。這里主要注意的問題主要就是環(huán)境變量的設置,
在tomcat\bin目錄中我們需要設置java_home和CATALINA_HOME,設置方法如下:
打開tomcat\bin\startup.bat,對其中if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome這樣的語句都移動到下面代碼的后面:
set CURRENT_DIR=%cd%                                                          注釋:取得當前目錄tomcat\bin
set CATALINA_HOME=%CURRENT_DIR%                                                                 
cd ..                                                                                                注釋:到上一級目錄tomcat                                                  
set CATALINA_HOME=%cd%                                                    
cd ..                                                                                               注釋:到上一級目錄delply
set JAVA_HOME=%cd%\jdk                                                       注釋:設置JAVA_HOME
set JRE_HOME=%cd%\jdk\jre                                                      注釋:設置JRE_HOME
其實這里的關(guān)鍵就是不使用以前的判斷,直接設置CATALINA_HOME、JAVA_HOME等到你打包的目錄
注意我的目錄結(jié)構(gòu)如下,大家可根據(jù)需要適當調(diào)整上面的代碼:
deploy
------->tomcat
------->jdk

    再一點就是NSIS的使用,可以使用它提供的VNISEdit編譯環(huán)境中的 新建腳本:向?qū)нM行配置,其中要注意的問題是
1. 選擇目錄的時候,設置的是目錄下的內(nèi)容,不包括目錄;
2. 通過向?qū)渲玫目旖莘绞接悬c問題,需要手工改動編碼,主要是下面的內(nèi)容:
Section "yourapp" SEC01
  SetOutPath "$INSTDIR"                     (這里是你的根目錄,我這里是deploy)
  SetOverwrite ifnewer
  File /r "..\deploy\*.*"                          (注意這里的格式)
SectionEnd

Section -AdditionalIcons
  SetOutPath "$INSTDIR\tomcat\bin"                   (這里是你快捷方式的起始位置,即快捷方式指向的那個文件的目錄,前面設置的是根目錄,這里需要重新設置,如果在前面設置的話,你的根目錄就變成了你的快捷方式指向的那個文件的目錄了,一定要注意這里的問題)
  CreateDirectory "$SMPROGRAMS\IBS"
  CreateShortCut "$desktop\StartServer.lnk" "$INSTDIR\tomcat\bin\startup.bat" "" "$INSTDIR\tomcat\start-server.ico"              (我這里是把tomcat里的startup.bat建立了桌面快捷方式,后面是我設置的圖標)
  CreateShortCut "$desktop\StartIBS.lnk" "http://localhost:9000/appname" "" "$INSTDIR\tomcat\app_ie.ico"  (這里是我建立的桌面快捷方式,點擊就打開的是我制定的網(wǎng)址)
  CreateShortCut "$SMPROGRAMS\IBS\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd

總結(jié)上面的內(nèi)容,就是我們在打包java web系統(tǒng)時,主要是把tomcat、jdk放到一個目錄下,使用NSIS工具將其壓縮即可,需要注意的就是兩點,一是tomcat中
對CATALINA_HOME、java_home的設置,二就是nsis腳本中的目錄設置、快捷方式的設置了。。