﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-java技术-随笔分类-工具使用</title><link>http://www.blogjava.net/spark/category/39748.html</link><description>智慧是第一生产力</description><language>zh-cn</language><lastBuildDate>Thu, 21 May 2009 14:57:07 GMT</lastBuildDate><pubDate>Thu, 21 May 2009 14:57:07 GMT</pubDate><ttl>60</ttl><item><title>java web应用程序转exe</title><link>http://www.blogjava.net/spark/archive/2009/05/21/274556.html</link><dc:creator>空空</dc:creator><author>空空</author><pubDate>Thu, 21 May 2009 14:28:00 GMT</pubDate><guid>http://www.blogjava.net/spark/archive/2009/05/21/274556.html</guid><wfw:comment>http://www.blogjava.net/spark/comments/274556.html</wfw:comment><comments>http://www.blogjava.net/spark/archive/2009/05/21/274556.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/spark/comments/commentRss/274556.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/spark/services/trackbacks/274556.html</trackback:ping><description><![CDATA[<p>&nbsp; 最近做了一个小的web应用，客户那边都不常用java环境，让他们安装、配置java、tomcat环境对他们来说太难为他们了，<br />
所以花了点时间研究了下exe文件的制作，将java web应用制作成exe文件，并打包了jre环境，最后生成启动服务器的快捷方式、<br />
打开IE的快捷方式，感觉这样就成了傻瓜型的了，^!^ 由于上网找资料花了不少时间，想着方便那些有类似需要的朋友，就<br />
在此总结一下，希望能帮助到别人吧。<br />
<br />
&nbsp; 在一个没有java环境的系统中(此处只应用于windows)，要执行web应用，需要jdk、tomcat（服务器），我是将机器上装的jdk目录、<br />
tomcat目录拷贝到一个目录，还有数据库客户端，这里用的hsql，就不详细说了。这里主要注意的问题主要就是环境变量的设置，<br />
在tomcat\bin目录中我们需要设置java_home和CATALINA_HOME，设置方法如下：<br />
打开tomcat\bin\startup.bat,对其中if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome这样的语句都移动到下面代码的后面：<br />
set CURRENT_DIR=%cd%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366ff">&nbsp;注释</span>：取得当前目录tomcat\bin<br />
set CATALINA_HOME=%CURRENT_DIR%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
cd ..&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注释：到上一级目录tomcat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
set CATALINA_HOME=%cd%&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
cd ..&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注释：到上一级目录delply<br />
set JAVA_HOME=%cd%\jdk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注释：设置JAVA_HOME<br />
set JRE_HOME=%cd%\jdk\jre&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注释：设置JRE_HOME<br />
<span style="color: #ff0000">其实这里的关键就是不使用以前的判断，直接设置CATALINA_HOME、JAVA_HOME等到你打包的目录<br />
</span>注意我的目录结构如下，大家可根据需要适当调整上面的代码：<br />
deploy<br />
-------&gt;tomcat<br />
-------&gt;jdk<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;再一点就是NSIS的使用，可以使用它提供的VNISEdit编译环境中的 新建脚本：向导进行配置，其中要注意的问题是<br />
1. 选择目录的时候，设置的是目录下的内容，不包括目录；<br />
2. 通过向导配置的快捷方式有点问题，需要手工改动编码，主要是下面的内容：<br />
Section "<span style="color: #0000ff">yourapp</span>" SEC01<br />
&nbsp; SetOutPath "$INSTDIR"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&nbsp;(这里是你的根目录，我这里是deploy)<br />
</span>&nbsp; SetOverwrite ifnewer<br />
<span style="color: #0000ff">&nbsp; File /r "..\deploy\*.*"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (注意这里的格式)<br />
</span>SectionEnd<br />
<br />
Section -AdditionalIcons<br />
<span style="color: #0000ff">&nbsp; SetOutPath "$INSTDIR\tomcat\bin"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (这里是你快捷方式的起始位置，即快捷方式指向的那个文件的目录，前面设置的是根目录，这里需要重新设置，如果在前面设置的话，你的根目录就变成了你的快捷方式指向的那个文件的目录了，一定要注意这里的问题)<br />
</span>&nbsp; CreateDirectory "$SMPROGRAMS\IBS"<br />
&nbsp; CreateShortCut "$desktop\StartServer.lnk"<span style="color: #0000ff">&nbsp;"$INSTDIR\tomcat\bin\startup.bat" "" "$INSTDIR\tomcat\start-server.ico"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（我这里是把tomcat里的startup.bat建立了桌面快捷方式，后面是我设置的图标）<br />
</span>&nbsp; CreateShortCut "$desktop\StartIBS.lnk" <span style="color: #0000ff">"http://localhost:9000/appname" "" "$INSTDIR\tomcat\app_ie.ico"&nbsp; （这里是我建立的桌面快捷方式，点击就打开的是我制定的网址）<br />
</span>&nbsp; CreateShortCut "$SMPROGRAMS\IBS\Uninstall.lnk" "$INSTDIR\uninst.exe"<br />
SectionEnd<br />
<br />
总结上面的内容，就是我们在打包java web系统时，主要是把tomcat、jdk放到一个目录下，使用NSIS工具将其压缩即可，需要注意的就是两点，一是tomcat中<br />
对CATALINA_HOME、java_home的设置，二就是nsis脚本中的目录设置、快捷方式的设置了。。</p>
<img src ="http://www.blogjava.net/spark/aggbug/274556.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/spark/" target="_blank">空空</a> 2009-05-21 22:28 <a href="http://www.blogjava.net/spark/archive/2009/05/21/274556.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>