exe4j+Inno setup带着JRE.起飞

本文介绍了一种简化Java桌面应用程序部署的方法,通过使用exe4j和InnoSetup工具,实现程序自携精简JRE,方便用户一键安装运行。
对于作Java桌面应用来说,比较烦人的就是安装部署问题,客户端是否安装有jre、jre版本问题、jre去哪下载、如何用jre启动你的Java应用?不要说刚接触电脑的人,就算是比较熟悉电脑,如果没有接触过Java,面对一个Java应用,如何在Windows下启动它,估计都会折腾半天。如果不是因为这个问题,Java在我的眼里算是最完美的语言了,也是我最喜爱的语言。
所以我认为这个是导致Java桌面应用被一些人所讨厌的最大原因,Java的优势是“一次编写,随处运行”,跨平台特性确实很好,但并不是每个人都需要或都想要跨平台,而且有时候JVM平台或版本问题也会造成“一次编写,到处测试”的尴尬。
最好的方式莫过于带着JRE,让用户轻松点击就能运行。下面我们来解决这样的问题,有什么好的建议或方法请其他朋友多多指教或补充!
针对windows平台,让用户一键式安装,双击使用, 使用工具exe4j + Inno Setup, 这两个工具都可以在网上找到,不熟悉的可以多搜搜,使用起来也不难。
带着JRE运行,JRE的大小应该是最让人头疼的,我默认安装的jre6大小达到80M,而程序只有200-300k左右,感觉非常不合理,分发与网络传输过程也会大受影响!为了解决这个问题我一直在网络上搜索“瘦身版”的JRE,无意中搜到了Beansoft老师介绍的一篇关于迷你JRE的文章,相关的JRE下载后解压约14M左右,试用了一下,相对于我的应用缺少了一些类文件,关于部分xml操作类,及swing桌面应用框架相关连的部分类也找不到,最后借鉴了一下,自己把一个完整的JRE从80M瘦到了38M,去除了很多不需要的类文件,当然,如果耐心一点还可以再瘦下去,再抽掉一些类文件。
在这个基础上再配合Inno Setup这个安装包制作工具,最后把整个程序从40M压到了8M,下面看看关于整个操作过程,关于JRE的瘦身有些烦琐就不写了,而且SUN的JRE瘦身计划也在进行,相信很快会有更小的瘦身版JRE推出,自己没有必要再去费神。

下面是我的一个完整的Java程序 —— MyLoading

可以看到已经附带了jre1.6 , 下面先使用exe4j给它制作一个exe执行文件(即上图的MyLoading.exe),并指定我们自带的jre1.6 。以下是exe4j的启动界面,点击下一步开始创建配置文件。


接着选择类型,我们选择第一个,这样可以保证程序仍具有跨平台的特性。如果选择第二个,可以把程序完全编译成exe文件,可以更好的保护你的程序不被反编译。

接下来设置你的程序的短文件名,源文件夹路径(如我的:E:\MyLoading),以及要生成的exe文件的存放目录,exe存放目录必须指定到源文件夹下,这里我把它指定为E:\Myloading的根目录下。

接下来,可以给我们即将生成的exe文件起一个名字,如我的“MyLoading”,还可以给它指定一个ico类型的图标,其它按默认就可以了,如图:

接下来的这一步,我们需要把程序中所用到的类路径添加上去。然后指定程序的启动类,其它如果没有必要的话,则按默认即可,点击+号添加类路径:

基本上你所需要用到的Jar文件都要添加上去,可以逐个添加上去,也可以添加整个文件夹或者使用系统环境变量,为了使你的程序能够随处运行,所以还是强列建议你使用相对路径,并且不要使用环境变量。添加好你的类路径之后回到上一步去选择好你的"Main Class"即可。

接下来先选择我们的程序所需要的jre版本, 然后便是选择我们自带的jre了,这一步不是必须,但是为了更好的分发程序,我们自带了jre, 所以必须把我们自带的jre指定为首选的运行环境,如图选择:
Search sequence

默认情况下程序会去系统的注册表,环境变量及相关的目录查找jre,因为我们只需要自带的jre,所以这里我把默认的选项移除了,然后添加我们自己的jre所在的目录路径,点+号开始:

这里还是建议使用相对的目录路径:

指定jre所在的目录,如图:

最后我的jre目录路径就是这样的:.\jre1.6

下面这一步只是简单的给程序添加一个启动画面,然后按默认下一步下一步就可以了。


程序最终生成了这个执行文件: MyLoading.exe
现在使用它,已经可以正常利用我们自带的jre启动程序了,但是整个程序仍有40M的大小.
现在我们使用Inno Setup进行压缩并制作一个安装包。

Inno Setup的下载安装请到网上搜索,安装后启动脚本向导,如图所示:

整个过程很简单:


这里指定你的程序的启动文件,即刚才用exe4j创建的exe文件,并将你的整个程序目录都包含进去就可以了,接下来的基本上一直按下一步就可以了,直到脚本向导完成,




然后执行该脚本即可:





然后找到Inno Setup的默认输出目录,就可以看到编译输出后的安装包了,如下图:MyLoading安装.exe
大小已经压到了8.86M。

利用这个就可以快速轻松的安装你的Java桌面应用了。

无名站管理系统nameless CMS 具有以下功能亮点: 1、后台管理菜单可自由增删,可以给每个管理帐号指定页面维护权限。 2、除了页面维护权限外,还增加了栏目的维护权限分配。灵活实现分工维护。 3、提供系统设置,可设置些通用的信息。比如站名称、数据库名称、允许的上传格式、模板文件指定等等。 4、引入模型概念。通过选用模型创建站栏目。栏目继承模型所有属性、功能。目前系统拥用5大块模型。包括:单页模型、文章模型、图集模型、招聘模型、反馈模型。还支持模型的自由安装、卸载。后台可直接操作。 5、融入插件概念。通过插件辅助,进步扩展系统功能。系统当前默认安装5个插件。包括:幻灯片插件、投票插件、链接插件、广告插件、公告插件。插件同样支持自由安装、卸载。 6、采用当前最流行的系统设计理念,实现界面与程序100%分离,更换界面轻松自如。 7、拥有强大的在线模板管理器。其中包括创建、编辑、删除、复制、上传文件、创建目录,还支持指定范围内的字符替换。 8、拥用强劲的上传附件管理器。除了基本的文件更名、删除、预览,还可以在线创建目录,在任意子目录内上传文件,并且可以设定上传文件(图片类型)的尺寸裁剪。 9、首页、栏目页、文档页均生成HTML静态页。大大节省服务器资源消耗,提升页面请求响应速度。 10、注重搜索引擎优化(SEO)。允许自主设置keywords、description信息,还可以针对每篇文档单独设置。支持生成站地图HTML页面。 无名站管理系统nameless CMS v1.11.0做了哪些改动: 1、模板不再基于数据库。脱离了数据库的束缚,使模板操作更加方便,比如可自由创建新模板页,删除或更改模板名等。调用模板也大大简单化。 2、完善了模板管理面板的功能。 3、对“图集模型”中的图片输出形式功能进行更加人性化的功能完善。比如上传的图片如果比自定义的缩略图小时,就直接用上传图作为缩图而不另外生成缩图。 4、增加生成首页、站地图的模板文件路径的自定义设置。 5、修改了模板标签的解析内核。生成静态时避免了1.0资源消耗过大的问题。 后台登陆地址:admin/login.asp 帐号:admin   密码:123456
采用当前最流行的系统设计理念,实现界面与程序100%分离,更换界面轻松自如。首页、栏目页、文档页均生成HTML静态页。大大节省服务器资源消耗,提升页面请求响应速度。 注重搜索引擎优化(SEO)。允许自主设置keywords、description信息,还可以针对每篇文档单独设置。支持生成站地图HTML页面。 该系统具有以下功能亮点: 1、后台管理菜单可自由增删,可以给每个管理帐号指定页面维护权限。 2、除了页面维护权限外,还增加了栏目的维护权限分配。灵活实现分工维护。 3、提供系统设置,可设置些通用的信息。比如站名称、数据库名称、允许的上传格式、模板文件指定等等。 4、引入模型概念。通过选用模型创建站栏目。栏目继承模型所有属性、功能。目前系统拥用5大块模型。包括:单页模型、文章模型、图集模型、招聘模型、反馈模型。还支持模型的自由安装、卸载。后台可直接操作。 5、融入插件概念。通过插件辅助,进步扩展系统功能。系统当前默认安装5个插件。包括:幻灯片插件、投票插件、链接插件、广告插件、公告插件。插件同样支持自由安装、卸载。 6、采用当前最流行的系统设计理念,实现界面与程序100%分离,更换界面轻松自如。 7、拥有强大的在线模板管理器。其中包括创建、编辑、删除、复制、上传文件、创建目录,还支持指定范围内的字符替换。 8、拥用强劲的上传附件管理器。除了基本的文件更名、删除、预览,还可以在线创建目录,在任意子目录内上传文件,并且可以设定上传文件(图片类型)的尺寸裁剪。 9、首页、栏目页、文档页均生成HTML静态页。大大节省服务器资源消耗,提升页面请求响应速度。 10、注重搜索引擎优化(SEO)。允许自主设置keywords、description信息,还可以针对每篇文档单独设置。支持生成站地图HTML页面。 更多功能等待您来发现。。。。。。 默认后台管理帐号密码: 帐号:admin 密码:123456 以下是关于根目录下各个文件夹和文件的介绍说明: data ====== 数据库目录 gn ====== 后台管理目录 html ====== 存放html生成文件 include ====== 程序包含文件 plus ====== 额外功能执行文件 template ====== 模板文件(站外观文件) uploadfile ====== 上传文件存放处 index.htm ------ 首页文件(由后台生成) robots.txt ------ 供搜索引擎蜘蛛抓爬的参照文件 该新版本较1.0做了哪些改动: 1、模板不再基于数据库。脱离了数据库的束缚,使模板操作更加方便,比如可自由创建新模板页,删除或更改模板名等。调用模板也大大简单化。 2、完善了模板管理面板的功能。 3、对“图集模型”中的图片输出形式功能进行更加人性化的功能完善。比如上传的图片如果比自定义的缩略图小时,就直接用上传图作为缩图而不另外生成缩图。 4、增加生成首页、站地图的模板文件路径的自定义设置。 5、修改了模板标签的解析内核。生成静态时避免了1.0资源消耗过大的问题。
版本相关说明: [新增] 论坛无限分级功能 [修改] 论坛头部显示式样,并保留与以前的更换后台控制 [修改] 首页影视更新显示、 首页排版问题 [新增] 海岸红包插件,并红包所有信息由后台控制 [修改] 首页显示新闻、文章推荐等功能 [新增] 论坛发贴背景音乐、首页显示市场信息功能 [新增] 论坛发贴推荐、奖惩等功能 [修正] 论坛图片大小控制 [新增] 站头部使用整图时,图片随机更换功能 [新增] 后台控制站头部、论坛头部更换功能 [新增] 添加好友短信通知、修改密码安全功能 [新增] 注册验证功能、后台登陆安全等功能 [新增] 跳蚤市场 [新增] 中商城板块 [修正] 〖JK V6.5〗中许多BUG [新增] 下拉式菜单...... [新增] 加入更多的特殊内容帖 [新增] 加入后台管理上传 [新增] 修正了评论管理错误、加入flash评论管理 [新增] 修正了后台控制发布相关的错误 [新增] 加入了限制ip功能 [改进] 全面采用数据库计数 [改进] 更好的优化了整站;逐步向换skin功能迈进 [改进] 修正Fhash.asp文件错误 [改进] 改进查询订单调用 [改进] 后台控制skin基本要素初步完成,有望在下版本中完全实现前台换skin功能; [新增] 增加人气值,你发的贴被别人回复次就加次人气! [新增] 增加威望值、魅力值的后台管理 [新增] 增进后台管理,进行了简化,不像以前那样繁琐 [新增] 增加了UBB特殊内容功能;修正了UBB的BUG [改进] 增加注册用户自动从性别判断头像功能、注册用户自动登陆 [改进] 修改了config.asp和skin.asp文件,方便大家更换skin,为以后的换skin功能做好准备 [改进] 更多的修改我也记不清了,大家自己慢慢摸索吧! [新增] 站增加银行插件、社区服务插件等; [新增] 站增加威望、魅力等; [新增] 站实现全面模块化管理等; [新增] 论坛增加搜索(可按类型)和查看本版精华等; [改进] 改进原麦森等版中N个BUG和不足之处; [新增] 后台可设置是否要登陆才能查看贴子和文章等; [改进] 改进了上传程序,可识别图片和FLASH文件和可以添加任意类型的文件等; [改进] 优化和改进了部分子程序和页面,更具扩展性; [新增] 后台权限管理,可设置各管理员管理不同的版面; [新增] 后台可设置IP为完全保密、显示部分、完全开放; [新增] 登陆后台后查看站所在服务器的基本信息以及支持的服务; [新增] 新闻功能模块,可上传图片、定义关键字等;本站特加了交易,商城和影视模块! [改进] 上传文件功能,并可管理上传的文件格式的大小; [改进] 论坛功能大幅度的增加和改进,批量删除,上传文件等; [改进] 下载增加图片和关键字,增强其功能,改善版面; [改进] 后台管理,主要有可在后台设定站配置参数等; [改进] 本站修改的UBB功能再次增强和修改,分成两部分; …… 管理员:admin 密码:admin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值