转载自:http://www.blogjava.net/huliqing/archive/2008/04/18/193907.html

对于作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桌面应用了。

转载于:https://www.cnblogs.com/zhjsll/p/4275245.html

一键搞定Java桌面应用安装部署 —— exe4j + Inno Setup 带着JRE, 8M起飞相关推荐

  1. java调用大漠插件一键搞定!!!!!!!!!!

    本人java爱好者,最近想要通过java调用大漠插件,实现一些脚本.但是发现java调用大漠插件的文章在网上太少啦,自己经过长达一周的实践和测试,总算是可以通过java调用大漠插件了,也算是给小伙们避 ...

  2. 几周内搞定Java的10个方法

     几周内搞定Java的10个方法 不要将Java与JavaScript弄混了,Java的目标是"一次编译,到处调试"(呃,不对,是"到处运行").简单来说, ...

  3. vbn中使用的3种流程控制结构是_细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定...

    细菌进化树 • 构 建 细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定 对于细菌新种或者新属的发现,总是那么让人期待,但是当我们批量获得16S序列后,逐一对这些尚不知分类地位的序列进行比对并 ...

  4. 一文搞定vim,从安装到入门到精通,助你成功入门vim

    一文搞定vim,从安装到入门到精通 NO.1 闲聊 NO.2 安装(不是重点!觉得这部分讲的不清楚可以去找一篇win下安装vim的文章来看,然后跳去NO.3接着看) NO3. 文章核心重点-vim使用 ...

  5. 13天搞定java_[Java基础] 魔乐科技教你13天搞定JAVA系列高端教程 视频教程 教学视频...

    资源介绍 课程目录:                            <魔乐科技教你13天搞定JAVA>第八天-01异常的捕获及处理.rar        58.04 MB < ...

  6. 快到飞起!一键搞定 GitHub 下载加速!

    公众号关注 "GitHubDaily" 设为 "星标",每天带你逛 GitHub! 大家好,我是小 G. 作为一名经常分享各类 GitHub 优质开源项目的博主 ...

  7. 【2022 CCF BDCI 文心大模型创意项目】AI一键搞定全套写文稿

    ★★★ 本文源自AI Studio社区精品项目,[点击此处]查看更多精品内容 >>> [2022 CCF BDCI 文心大模型创意项目]AI一键搞定全套写文稿加配图(文心大模型图文创 ...

  8. 基础+优化+架构一键搞定,华为大佬的“百万级”MySQL笔记

    前言 MySQL不用多说,大家都知道它是目前最为活跃热门的开源数据库,由于成本低,操作简易的特点,所以在互联网企业中被广泛使用,即使是头部的BATJ.由此可见,想要在互联网行业混得风生水起,或者说想要 ...

  9. 高考估分查分选志愿一键搞定_支付宝又操办了件人生大事

    摘要: 可能比高考更考验心力的填报志愿,支付宝要帮你一键搞定. 支付宝今天正式上线集估分.查分.选志愿等众多服务于一体的高考后综合服务平台,陪伴高考学生的青春大考.考生在估分.查分后,还可以看到系统智 ...

最新文章

  1. python小游戏代码大全-Python实现打砖块小游戏代码实例
  2. Python中的负索引是什么?
  3. Intel Realsense D435 Tensorlfow-yolov3 测试摄像头识别坐标转换成实际空间坐标的准确程度
  4. SQL server中DateTime类型字段如何赋值零?
  5. C++ 实现二叉树的非递归层次遍历(队列实现)
  6. Spring Cloud 微服务实战系列-Eureka注册中心(一)
  7. 苏宁11.11:苏宁易购移动端的架构优化实践
  8. spark学习之SparkStreaming
  9. 电脑怎么显示文件后缀名?3个步骤
  10. 图像原点矩、二阶中心矩物理意义推导
  11. 《痞子衡嵌入式半月刊》 第 21 期
  12. react开发插件-ES7 React/Redux/GraphQL/React-Native snippets
  13. 导图解文 从梦想到财富(28)如何成为顶尖高手
  14. Scratch3.0创意编程(基础篇):第9课 大鱼吃小鱼
  15. java 虚拟机字节码指令表
  16. Mac OS 10.13版本如何安装Xcode 10.1
  17. Windows10下利用DOSBOX和MASM32搭建汇编语言环境
  18. Java实现分段视频合并
  19. 学生学分管理系统(C语言)
  20. ASEMI五脚整流桥D55XT100接线图

热门文章

  1. syslog数据接收并处理
  2. 记一次httpclient调用失败
  3. 双流棠湖中学怎么样_棠湖中学教师团队荣获四川省“最美教师团队”!
  4. jwt如何防止token被窃取_JWT令牌
  5. JZOJ 3660. 【SHTSC2014】信号增幅仪
  6. JZOJ 3808. 【NOIP2014模拟8.25】道路值守
  7. matlab 矩阵加减乘除运算
  8. pythonexcel表格教程_python对excel表格的操作
  9. ICCV 2017 CREST:《CREST: Convolutional Residual Learning for Visual Tracking》论文笔记
  10. http method