Java资源网

| JAVA基础 | 环境配置 | JDBC | 线程技术 | Socket编程 | JavaMail | JAVA与XML | 设计模式 | 技术新闻 | Java认证 | 程序人生 软件下载
| JSP&Servlet | Spring | Struts | Hibernate | JBuilder | Eclipse | WebService | EJB技术 | J2ME开发 | 应用服务器 | JXTA | Ajax
Articles search文章搜索
   关键字:
   类 别:
       
New download 最新下载
· [组件]HTML Parser 1.5
· [教程]WebSphere Studio应用教程
· [组件]JDom 1.0
· [工具]Junit3.8.1
· [教程]EJB编程及J2EE系统架构和设计
· [教程]EJB教程
· [教程]J2EE Tutorial中文版
· [教程]Java编程思想2(英文)
· [教程]java编程思想(完整版)
· [教程]Java网络编程
New articles 最新文章
· 设计移动 Web 服务
· 解析XML的时候完全忽略DTD
· 理解XML Schema XML Schema 初步
· 标签库的深入研究
· 提升JSP应用程序的七大绝招
· 如何使用JDOM对XML文件进行操作
· 处理XML字符串中特殊字符
· 利用Digester把XML转换成为Java对象
· 使用WebService 和RMI远程协作
· 使用Axis开发Web Service程序
Articles top 热门文章
· Eclipse基础--plugin插件安装(6644)
· eclipse+tomcat+lomboz的安装配置说明(4774)
· Java程序员就业前景(4584)
· Windows下JAVA环境变量的设置祥解(3788)
· Tomcat下JSP、Servlet和JavaBean环境的配置(3716)
· 使用links方式安装Eclipse插件(3698)
· 一个老程序员的心理话(3533)
· linux下jdk的安装与配置(3459)
· 初学者入门:Structs中基本配置入门(3334)
· Eclipse 运行命令行参数大全(3084)
您的位置:首页>>JAVA基础>>为 SWT Windows桌面程序定制适合分发的 JRE
为 SWT Windows桌面程序定制适合分发的 JRE
2005-08-11   来源:CSDN  作者: onefox
 

前言:
11.4M
 虽然还不够理想,偶最初期望可以把 JRE 部分控制在 10M 以内。
勉强凑合吧,这样一个预先集成 JRE 的普通 SWT 桌面应用程序下载大小就不会超过20M。
一般的宽带用户就不会犹豫了。JRE 1.5 的性能又可以保留,另外还有 SWT 的协助。
普通人看不出这是个 Java 程序,除了配置老的机子启动有点慢(一般也能在10秒内启动)

=========================================================================

SWT 有了, J2SE 1.5 有了, Java 桌面程序还需要些什么??

可能对于很多人来说(包括我), Java 的跨平台特性并不是必须的,

很多时候我们只是想做个简单的Windows桌面应用,然后试着把快乐分发给别人,

但是当我试着这么做的时候,才发现 SUN 的虚拟机对你溺爱的程度让你恶心~[:(]

怎么办? 既然已经上了这条船,就只能先找找有没有就近的解决方法:

SWT + Java launcher + 一个小巧的JRE

因为 GCJ 还不很完美,目前我就是用上面的方法做 Java Windows 桌面应用的。

唯一遗憾的是 JRE 1.5 太大,压缩后也有 20M 左右不利于程序分发。

(这里,首先我们不希望客户自己下载安装JRE,涉及到 JRE的版本兼容等问题)

虽然可以对 SUN JRE 进行大规模精简,但这样做显然是不合规范的,

JRE 的授权信息里似乎有类似“可以随意分发,但必须保证完整性”说法。

况且我也没有找到全面的精简 SUN JRE 的技术文章。

JRE 目录下的 readme 有关于去掉可选内容的说明,

但即便是完全删除可选内容,减掉的肥肉也是有限的。

有侠士提供了这篇文章:Understand JRE download size

大意是想说明“JRE 其实并不大,你可以下载它的 offline 安装版本。”

这个离线安装版本将不会下载部分可选的内容,而且安装的时候可以定制安装组件。

测试后发现真的不错,比普通 offline 版本安装后体积小了 20M 。

可惜的是本来可以更小一点,但为了兼容中文,必须安装语言相关的组件。

然后,以这个相对轻巧的 JRE 为基础,剔除 Applet、AWT、Swing 相关内容。

因为我们使用 SWT !(说实话,我讨厌 Swing [bad]

方法是用 WinRAR 解压 jre\lib\rt.jar 包,搜索 applet 、awt 、swing 目录

全部删除后,再用 WinRAR 以 zip 存储模式(注意)后改名成 rt.jar,替换原文件

jre\bin\awt.dll 可以删除。 删除 jre\ 目录下所有文件,除了bin\目录 与lib\目录 

(应该还有其他可以精简的,比如jre readme 里说的一些,但偶没多试,只抓了大头)

完成后就开始打包压缩了,慢着,不是用 WinRAR! 而是 NISI

这里有中文文档:http://foobar.nease.net/nsis/

它试一个安装制作程序,很棒,用 NISI 的 LZMA 压缩算法效果绝对出乎你的意料。

不会用 NISI 可以像我这样先把整个东西打包成ZIP,然后用 NISI 的 Zip2Exe 工具转换

完成后结果就出来了,我的 J2SE 1.5 Updata4 最终大小是 11.4M

NISI 不但是个压缩工具,同时它更加是个安装程序制作工具,非常棒![good]

你顺便就可以用它做安装程序(带着JRE 和 业务程序本身)[:E]

========================================================================

下面是一些相关内容:

SWT:Eclipse 图形组件 

Java launcher:一个加载java程序的小工具,

我发现用它启动Java还可以一直保持鼠标的沙漏状态

关于 SWT + Java launcher ,可以看这篇文章(强烈推荐[:S]):
http://www.cnblogs.com/glchengang/archive/2005/06/12/173070.html


  --相关文章--
· J2EE全面介绍(二) (2007-04-13)
· 项目经验二则:读取war包中的文件及Ant使用中的OutOfMemoryError解决 (2007-04-13)
· 走向J2EE,漫长的道路 (2007-04-13)
· 步入J2EE架构和过程(2) (2007-04-13)
· 步入J2EE架构和过程(1) (2007-04-13)
· 方兴未艾的CORBA (2007-04-13)

版权所有©2005-2006 JAVA资源网 渝ICP备05007591号 虚拟主机 | 关于我们 | 联系方式 | 广告业务 | 网站地图 | 友情链接