当前位置:编程学习 > JAVA >>

如何将JDK+Tomcat+MySQL+Web程序一起打包为exe的完整安装程序?

老板非要这样 苦死我了 我看到有些软件可以 哪位大哥指导下 万分感谢 要多少分给多少分…… --------------------编程问答-------------------- 很好弄的,这JDK+Tomcat+MySQL都可以拷贝使用的,你把这几个文件夹打包上就可以了,网上有好多打包工具。打包实际就是压缩解压的过程,不过你的JDK要设置环境变量,你打包解压的使用要执行修改一下注册表 --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- http://www.kuqin.com/java/20080108/3554.html --------------------编程问答--------------------
引用 1 楼 mingzhangming 的回复:
很好弄的,这JDK+Tomcat+MySQL都可以拷贝使用的,你把这几个文件夹打包上就可以了,网上有好多打包工具。打包实际就是压缩解压的过程,不过你的JDK要设置环境变量,你打包解压的使用要执行修改一下注册表

…………
MYSQL需要设置个路径才可以的吧 basedir和datadir 咋动态给它设这个路径啊 用户选安装哪了 它跟着设置到哪啊 TOMCAT里我还有办法写个.bat文件设置下环境变量。MYSQL是my.ini 这咋设阿,哪个打包软件可以啊 还得不能太贵……………… 我用Installanywhere试了,虽然可以,MONEY太多,老板不原意…… 还有什么能帮忙的吗………… --------------------编程问答-------------------- 做一个界面让用户设置数据库url、用户名、密码、执行建数据库、表操作,用ant进行拷贝、部署。 --------------------编程问答--------------------
引用 3 楼 mousetsun 的回复:
http://www.kuqin.com/java/20080108/3554.html

咱这个是JAVA WEB 跟你给的好像不贴吧 呵呵, 不过谢了…… --------------------编程问答--------------------
引用 5 楼 zou_wei_forever 的回复:
做一个界面让用户设置数据库url、用户名、密码、执行建数据库、表操作,用ant进行拷贝、部署。


我的客户是非技术人员 他们只要点个EXE 就OK了 ……………… 呵呵 谢谢了 --------------------编程问答-------------------- 兄弟 同病相怜呀   我被这个苦恼好久了 --------------------编程问答-------------------- 你需要多学打包工具以及那些脚本语言才能弄。jdk的打包比较容易,直接放进去就行。tomcat需要免安装版的,mysql也是一样,不过如果你需要部署你的数据库以及表,需要你单写一个mysql的bin文件部署你的数据库表,然后用脚本语言分别调用jdk的安装包和tomcat以及mysql的解压包,并执行其中的mysql的bin文件,并且配置环境变量,进行解压部署。
之后执行这个脚本就可以了。 --------------------编程问答-------------------- 汗。这问题.net容易多了 --------------------编程问答--------------------
引用 9 楼 ojwftded 的回复:
你需要多学打包工具以及那些脚本语言才能弄。jdk的打包比较容易,直接放进去就行。tomcat需要免安装版的,mysql也是一样,不过如果你需要部署你的数据库以及表,需要你单写一个mysql的bin文件部署你的数据库表,然后用脚本语言分别调用jdk的安装包和tomcat以及mysql的解压包,并执行其中的mysql的bin文件,并且配置环境变量,进行解压部署。 
之后执行这个脚本就可以了。


好复杂…… JDK TOMCAT都好说 MYSQL有是有免安装的 不过不是必须要放在C:\MYSQL下才行吗?有能够放在任何地方的版本吗 --------------------编程问答-------------------- 学习 不会。

--------------------编程问答-------------------- 顶上去吧~~ 大哥们 我好郁闷 周末都过不好啊…………  --------------------编程问答-------------------- 帮你顶! --------------------编程问答-------------------- 同情ing~~~我也曾经因为公司的要求而被这个问题困扰了很久,最后终于把JDK和Tomcat及WEB应用整合成在一起,完全免安装,只需要解压到任意位置就行了。只是数据库就没办法弄了,需要客户自己安装配置。。。然后执行我的一个设置向导程序,填写数据库连接等参数,写入WEB应用的配置文件。。。所以达不到你的要求了。。。
一直这么用,没什么问题,只是前几天才发现了一个令我哭笑不得的问题,就是由于JDK是免安装的,没有注册到系统,而是随着Tomcat启动时才运行,所以当WEB应用中取系统时间时,无法取服务器时间而是格林威治时间,比我们使用的东部时间慢了整整8小时,即使我如何设置timeZone也没用。。。弄得没办法就给客户装上个JDK了。。。不知道是不是要注册进注册表才行。。。 --------------------编程问答-------------------- 完全不合理的需求 --------------------编程问答--------------------
引用 16 楼 susoft2008 的回复:
完全不合理的需求


呵呵 老板可不管合理不合理 --------------------编程问答-------------------- 比较头疼的问题,帮LZ顶顶吧!! --------------------编程问答-------------------- 貌似没有完美的办法,只能一步一步接近 --------------------编程问答-------------------- 整个MYSQL绿色的就好了 哪放都行…… 哪位大哥大姐有过类似经验 小弟在此谢过了 …… --------------------编程问答-------------------- 看来是 比较不容易实现吧,毕竟是WEB程序! 等LZ的好消息,学习 了! --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- 这个使用专门的制作安装文件工具啊,比如用InstallShield之类的。很多java开发的商业软件的安装不都是制作成安装文件,然后发布的么? --------------------编程问答-------------------- 定 学习中  --------------------编程问答--------------------
引用 23 楼 ops2000 的回复:
这个使用专门的制作安装文件工具啊,比如用InstallShield之类的。很多java开发的商业软件的安装不都是制作成安装文件,然后发布的么?


我用过INSTALLANYWHERE 它有个选项是在安装之后在文件前面写入预定义好的语句 这样可以给MY.INI 加上basedir和datadir 不过这个软件太贵了 要好几万 老板闲贵 哪位大哥知道能完成同样攻能的便宜点的安装软件吗? ……………… --------------------编程问答-------------------- mark
希望楼主尽快解决问题,走出困境啊! --------------------编程问答-------------------- 关注ing... --------------------编程问答-------------------- 打包压缩,后缀名为.EXE,解压安装就可以了 --------------------编程问答-------------------- 在线等…… --------------------编程问答-------------------- 一定很头疼,但是也确实很有用,期待高手解答 --------------------编程问答-------------------- 你的程序里用到过EJB 么?

如果有用的话就特别简单啦 
只需要把TOMCAT 打包 把JOBSS放在TOMCAT里 WEB原程序不给  EJB自动生成数据库文件
让他安个MYSQL就OK啦 都不用客户倒数据 安装MYSQL 客户如果都不会的吧 这问题好象就不是
那么容易解决的啦  --------------------编程问答-------------------- JDK+Tomcat+MySQL:我记得网上有这三个的集成安装包。至于第四个,那个就是个文件复制吧? --------------------编程问答-------------------- 好像很麻烦。 --------------------编程问答--------------------
引用 32 楼 dipolar 的回复:
JDK+Tomcat+MySQL:我记得网上有这三个的集成安装包。至于第四个,那个就是个文件复制吧?

哪有啊 我也查过 能给个地址吗? --------------------编程问答--------------------
引用 31 楼 pc144818 的回复:
你的程序里用到过EJB 么? 

如果有用的话就特别简单啦 
只需要把TOMCAT 打包 把JOBSS放在TOMCAT里 WEB原程序不给  EJB自动生成数据库文件 
让他安个MYSQL就OK啦 都不用客户倒数据 安装MYSQL 客户如果都不会的吧 这问题好象就不是 
那么容易解决的啦 


我用MYECLIPE开发的啊…… 你这个不懂啊 能说的再详细点吗?我把弄好的文件导入JOBSS里?  --------------------编程问答-------------------- 帮顶下!只发布过application的运用! --------------------编程问答-------------------- 你没用EJB 就没有办法了~
EJB 的发布是必须在JOBSS里的 
EJB 这个东西 就好象结合了 SSH 一样~我刚才仔细想了一下 这个好象也不行 !
没帮到! 不好意思! 
有能解决的 正好我也学习下  --------------------编程问答-------------------- 关注!
学习下! --------------------编程问答-------------------- 以后可能用的到.学习了! --------------------编程问答-------------------- 天啦,有这种要求!不会, 等待中! --------------------编程问答-------------------- 这个要求这是麻烦啊!!! --------------------编程问答-------------------- 我公司的东西是做成exe的,不过我才来了半个月。
哎,要是我早些来就好了。
这样就可以解决楼主的苦恼了。  --------------------编程问答--------------------
引用 42 楼 liang__ 的回复:
我公司的东西是做成exe的,不过我才来了半个月。 
哎,要是我早些来就好了。 
这样就可以解决楼主的苦恼了。 


找个前辈让他上CSDN帮忙解答下被  呵呵 --------------------编程问答--------------------
引用 43 楼 timber85zh_01 的回复:
引用 42 楼 liang__ 的回复:
我公司的东西是做成exe的,不过我才来了半个月。 
哎,要是我早些来就好了。 
这样就可以解决楼主的苦恼了。 
 

找个前辈让他上CSDN帮忙解答下被  呵呵


同意  up 希望能尽快解决 --------------------编程问答-------------------- 学习 ,看起来好像很难 --------------------编程问答-------------------- makr --------------------编程问答-------------------- 难啊 --------------------编程问答-------------------- 告诉你我们公司高手的解决办法吧,想要动态设置安装路径比较困难,不过能做到的是:把tomcat,mysql,jdk,打包,安装运行完成之后(只能固定到某个位置如:D:\XXX),启动服务,浏览软件 --------------------编程问答--------------------
引用 48 楼 shaier 的回复:
告诉你我们公司高手的解决办法吧,想要动态设置安装路径比较困难,不过能做到的是:把tomcat,mysql,jdk,打包,安装运行完成之后(只能固定到某个位置如:D:\XXX),启动服务,浏览软件


这个好像我现在就能做到 说实话我也这么跟老板沟通的 等信呢…… 

但是真的很想知道这个东西到底怎么做能达到咱要的效果 因为有些软件确实做到了 --------------------编程问答-------------------- 肯定是有办法的,等牛人出现 --------------------编程问答-------------------- 下载mysql的绿色版本mysql-noinstall-5.0.22-win32,这个应该不用教了吧。
然后解压后在里边写一个*.bat的批处理文件
内容如下
bin\mysqld -u root -p root -nt -install 
net start mysql
bin\mysql -u root -p root < test.sql

第一行的意思是将mysql非安装版本注册成系统服务
第二行的意思是启动服务-u代表用户名-p代表密码
第三行的意思是调用你的test.sql执行脚本
多余的不用我说了吧,不过题型一点,记住更改他的系统ini文件,这样可以更改端口,默认编码等等 --------------------编程问答--------------------
引用 51 楼 ojwftded 的回复:
下载mysql的绿色版本mysql-noinstall-5.0.22-win32,这个应该不用教了吧。 
然后解压后在里边写一个*.bat的批处理文件 
内容如下 
bin\mysqld -u root -p root -nt -install 
net start mysql 
bin\mysql -u root -p root < test.sql 

第一行的意思是将mysql非安装版本注册成系统服务 
第二行的意思是启动服务-u代表用户名-p代表密码 
第三行的意思是调用你的test.sql执行脚本 
多余的不用我说了吧,不过题型一点,记…


这个版本不是只能放在C:\MYSQL下吗? 放在任意目录可以吗? --------------------编程问答-------------------- http://www.blogjava.net/huliqing/archive/2009/02/03/247375.html --------------------编程问答-------------------- 你从开始就没发现你的研究重点在哪里,你的重点应该在tomcat指定jre路径,web工程连接数据库的配置这才是你的重点所在,至于打包exe倒是简单了,写个批处理运行tomcat就搞定,JRE就是一起打包过去而已,指定路径写相对路径,至于注册服务系统启动你到网上搜索下就能搞定了 --------------------编程问答--------------------
引用 54 楼 zhuyx808 的回复:
你从开始就没发现你的研究重点在哪里,你的重点应该在tomcat指定jre路径,web工程连接数据库的配置这才是你的重点所在,至于打包exe倒是简单了,写个批处理运行tomcat就搞定,JRE就是一起打包过去而已,指定路径写相对路径,至于注册服务系统启动你到网上搜索下就能搞定了


那个地址我这怎么下载不了啊 点击之后没反应 下载不了 能不能帮忙上传个到CSDN啊 

还有“tomcat指定jre路径”这个可以做到,“web工程连接数据库的配置”相信每一个WEB应用都会配置 不好意思 没太理解这个批注 

太感谢了 终于见到曙光了……………… --------------------编程问答-------------------- 因为你的mysql是打包过去的,你应该研究没有注册服务的mysql的连接方式,启动时可能遇到什么问题,比如防火墙限制端口等等 --------------------编程问答--------------------
引用 56 楼 zhuyx808 的回复:
因为你的mysql是打包过去的,你应该研究没有注册服务的mysql的连接方式,启动时可能遇到什么问题,比如防火墙限制端口等等

但是本身MYSQL打包就存在问题 无法让其处于任意目录下 这个问题怎么解决啊…… 

注册MYSQL服务 用命令行mysqld --install不就行了吗  --------------------编程问答-------------------- 同楼主一起学习.
帮顶
持续关注 --------------------编程问答-------------------- 用InnoSetup.这是一个免费的打包软件. 
WAMP是一个用InnoSetup打包的开源软件, 你可以看看WAMP的iss (InnoSetup配置文件)
Google 一下 "WAMP5-1.3.2_full.iss"

GOOD LUCK!

--------------------编程问答-------------------- # To run run the server from the command line, execute this in a 
# command line shell, e.g.
# mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"
#
# To install the server as a Windows service manually, execute this in a 
# command line shell, e.g.
# mysqld --install MySQLXY --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"


#Path to installation directory. All paths are usually resolved relative to this.
basedir="D:/MySQL/MySQL Server 5.0/"

CMD命名中有chdir返回当前目录……你现在的主要任务就是学习cmd命令编写一个bat --------------------编程问答--------------------
引用 60 楼 zhuyx808 的回复:
basedir="D:/MySQL/MySQL Server 5.0/" 


受教了……

就是这个参数 我也看了不少东西 但是没有找到能够用bat文件 去在这个MY.INI文件中加这么一段代码的方法 

送佛送到西 能麻烦教教吗?万分感谢…… --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- InstallShield --------------------编程问答-------------------- 有一个绿色版的mysql启动只要
@echo off
@echo Mysql startup ...
start bin\mysqld.exe --default-character-set=gbk
exit
就OK了,省下很多烦恼
--------------------编程问答-------------------- 你的老板有病! --------------------编程问答--------------------
引用 64 楼 zhuyx808 的回复:
有一个绿色版的mysql启动只要 

Java code@echo off
@echo Mysql startup ...
start bin\mysqld.exe --default-character-set=gbk
exit

就OK了,省下很多烦恼 


没OK啊 出来个CMD窗口 上面啥也没有…… MYSQL也没有运行啊……

还有MYSQL所谓的绿色版 不就是只能放在C:\MYSQL下的吗?

晕死了…… --------------------编程问答-------------------- 关注下 --------------------编程问答-------------------- 在网上面搜搜应该有的,我以前也看到过! --------------------编程问答--------------------
引用 59 楼 bruni 的回复:
用InnoSetup.这是一个免费的打包软件. 
WAMP是一个用InnoSetup打包的开源软件, 你可以看看WAMP的iss (InnoSetup配置文件) 
Google 一下 "WAMP5-1.3.2_full.iss" 

GOOD LUCK! 


WAMP5-1.3.2_full.iss
这个文件下到了 
不过下面红的地方我应该怎么替代呢 原来的文件是怎样的呢 我试了试没成功 忘指教 谢谢

DestFile := Filename+'/mysql/my.ini';
SrcFile := Filename+'/mysql/my.install';
tag := 1;
if FileExists (DestFile) then
begin
tag := 0;
end
if tag = 1 then
begin
LoadStringFromFile (SrcFile, SrcContent);
StringChange (SrcContent, 'INSbasdir','basedir='+FileName+'/mysql');
StringChange (SrcContent, 'INSdatadir','datadir='+FileName+'/mysql/data');
StringChange (SrcContent, 'INSlogfile','log-error='+FileName+'/logs/mysql_error.log');
SaveStringToFile(DestFile,SrcContent, False);
end
DeleteFile(SrcFile); --------------------编程问答-------------------- mark --------------------编程问答-------------------- 把你老板切了 --------------------编程问答-------------------- 不错 --------------------编程问答-------------------- 网上搜个注册码不行么?我本本上就装了个7版本的---难道不是内地公司,只能用正版软件? --------------------编程问答--------------------
引用 73 楼 Only_you104 的回复:
网上搜个注册码不行么?我本本上就装了个7版本的---难道不是内地公司,只能用正版软件?


是啊 盗版会出问题的 呵呵 --------------------编程问答-------------------- 很好弄的,这JDK+Tomcat+MySQL都可以拷贝使用的,你把这几个文件夹打包上就可以了,网上有好多打包工具。打包实际就是压缩解压的过程,不过你的JDK要设置环境变量,你打包解压的使用要执行修改一下注册表 --------------------编程问答-------------------- 不会,帮顶 --------------------编程问答-------------------- 等待奇迹的出现 --------------------编程问答-------------------- 学习一下,如果真弄出来啦
大家共享一下啊。 --------------------编程问答-------------------- 不会~~~汗~~ --------------------编程问答-------------------- 学习.. --------------------编程问答-------------------- DAJIA A A  --------------------编程问答-------------------- GGDDGDGGDGDDDDDDDDDDDDDDG --------------------编程问答-------------------- mark --------------------编程问答-------------------- 学习!!帮顶 --------------------编程问答-------------------- 学习了, --------------------编程问答-------------------- mark --------------------编程问答-------------------- (都好好学习吧!) --------------------编程问答-------------------- 不懂,关注 --------------------编程问答--------------------
引用 66 楼 timber85zh_01 的回复:
引用 64 楼 zhuyx808 的回复:
有一个绿色版的mysql启动只要 

Java code@echo off 
@echo Mysql startup ... 
start bin\mysqld.exe --default-character-set=gbk 
exit 

就OK了,省下很多烦恼 
 

没OK啊 出来个CMD窗口 上面啥也没有…… MYSQL也没有运行啊…… 

还有MYSQL所谓的绿色版 不就是只能放在C:\MYSQL下的吗? 

晕死了……


你应该搜索那个bat版的,bat版启动后要用工具连接,因为这个已经精简过了,要注意用sql命令设置root密码 --------------------编程问答-------------------- 没听过 --------------------编程问答--------------------
引用 66 楼 timber85zh_01 的回复:
引用 64 楼 zhuyx808 的回复:
有一个绿色版的mysql启动只要 

Java code@echo off 
@echo Mysql startup ... 
start bin\mysqld.exe --default-character-set=gbk 
exit 

就OK了,省下很多烦恼 
 

没OK啊 出来个CMD窗口 上面啥也没有…… MYSQL也没有运行啊…… 

还有MYSQL所谓的绿色版 不就是只能放在C:\MYSQL下的吗? 

晕死了……

start命令是在注册成系统服务后才能用的吧, --------------------编程问答-------------------- 我是这样做的{我用Delphi写了个复制安装和写注册表的工具,最后发布Web程序也是用调用当前目录下的Bat实现的。包括配置数据库和初始化数据表都是用指定目录下的Sql脚本实现的}目录没有发现问题。但楼上有人说是获取不Web服务器的时间,不会真的是这样吧?关注中。。。 --------------------编程问答-------------------- 其实在你安装软件的时候,完全可以把他们安装在一个文件夹中,做好相关配置,这个时候你的配置路径可以事相对的,然后用打包工具封装一下就好了! --------------------编程问答-------------------- 学习ing --------------------编程问答-------------------- ding  yi xia  --------------------编程问答-------------------- 配置文档很多的,找找 --------------------编程问答-------------------- 学习。。。              --------------------编程问答-------------------- 学习 并关注对54楼分析的解答
--------------------编程问答-------------------- 通报:
感谢zhuyx808 感谢大家的关注 
终于有眉目了
现在基本可以实现了 MYSQL就用“MySQL5绿色版BAT版本” 这样使得数据库的任意位置安装 另外的TOMCAT与JRE的整合相信关注过这个东西的兄弟们了解都 我就不多说了 目前进度:测试打包中…… 再次感谢………………

不过还有个问题 哈哈
Web应用中的CLASS文件处于安全考虑 能不能不让用户找到 隐藏也罢(删除好像不太可能,毕竟运行的时候得用呢)期待完美中………………  --------------------编程问答-------------------- ............
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,