当前位置: 首页 > 工具软件 > Excelsior JET > 使用案例 >

Excelsior JET 介绍

上官兴昌
2023-12-01

Excelsior JET 介绍

1. 介绍
--------

这一个例子说明该如何转换成独立于JRE的可运行的
一个使用 SWT 代替Swing/AWT 的Java图形界面程序。

SWT 是一个开源Java图形用户接口工具箱,它独立于 AWT 和
JFC/Swing。 使用 SWT的好处, 连同其他的信息,
可在下面查找:

http:// www.eclipse.org/platform/index.html
http:// eclipsewiki.swiki.net/2
http:// www.excelsior-usa.com/jetswt.html

SWT 是一个Eclipse SDK 的部份, 你可以从下面下载:

http:// www.eclipse.org/download/index.php

使用 SWT 和 Excelsior JET,你能大大地减少
你的Java图形界面程序安装包的大小。 特别地,
如果你的程序使用 SWT 而不使用 AWT/Swing,Excelsior JET,
专业版使你能够将它编译成可运行的根本不需要JRE的程序 。
结果, 你的安装包只包括下列的成份:

- 可运行程序
- SWT本地方法 DLL 库(swt-win32-xxxx.dll)
- 一个JET运行库的子集 ( 动态链接库)
- 附助的文件 (手册,例子, 等等)。

下面的第 5 节是一个简单的 SWT程序,完全安装包大约 4兆字节 。
而且,在JetPerfect Global Optimizer的帮助下它能是更进一步减少大小。

为了扼要重述, SWT 和Excelsior JET将帮助你得到一个合理大小的程序。
使你的 程序 按规定大小制作,更不用说上好的表现和
固有的代码保护,因为代码被提前编译器编码成了本地代码。

2. 关于这个例子
--------------------

这一个这个例子是一个以 SWT 为基础,画 Mandelbrodt Set 的小程序。
下列的文件是 inclided(这个单词不知是何义):

buildjar.bat 产生 MandSet.jar 的脚本
runjar.bat 在 Java虚拟机上的运行 MandSet的脚本

buildexe.bat 把MandSet.jar转换成 MandSet.exe 的 脚本

MandSet.java 程序的Java源代码
MandSet.ico 那可运行的icon文件
MandSet.gif 标题栏的icon文件
MandSet.mf 记录将MandSet.jar转换成可运行Jar文件的列表文件
它不是本地可运行的程序 -而是
包含类的一个包文件

_MandSet.prj Excelsior JET 工程文件 (总称的)

 

3. 该如何建立
---------------

确定 javac.exe 和 jc.exe 在环境变量PATH中 。
假如 <ECLIPSE_HOME> 是Eclipse SDK 安装目录。

复制下列文件

<ECLIPSE_HOME>/plugin/org.eclipse.swt/ws/win32/ swt.jar
<ECLIPSE_HOME>/plugin/org.eclipse.swt/os/win32/x86/ swt-win32-XXXX.dll

到包含一个叫 " 自述文件 "的文件 的目录。 注意 XXXX 编码是
一个 SWT 版本数字,举例来说 SWT 2.135 使用 swt-win32-2135. dll。

运行 buildjar.bat 生成 MandSet.jar
你可以通过双击运行 runjar.bat 。

现在, 调整Excelsior JET文件如下:

- 在JET的控制面板中打开 MandSet.prj。

- 在显示类的一页上, 展开 " swt.jar" 节点 ( 或 " org" 节点)
直到 org.eclipse.swt.internal.awt( 或 org.eclipse.swt.awt 在
SWT 的较新版本) 包节点变成可见。

- 在 org.eclipse.swt.internal.awt/org.eclipse.swt.awt 上的右击
节点,取消 " Force into the project "选择. 这将在编译设置处去掉
AWT- SWT 桥,如此将能产生
那不需要 JRE就可运行的效果 。

- 选择文件/ 另存为...,输入 " MandSet.prj" 和点击保存。

- 关闭JET控制面板。

运行 buildexe.bat 生成 MandSet.exe 。

4. 该如何准备安装
------------------------------

运行 JetPackII, 选择在splash(不知怎么译)屏上的新建按钮。

选择新的包类型。

把 MandSet.exe 和 swt- win32- XXXX.dll 加入在文件页上的包。

选择在 JRE 页上 " 不使用 JRE" 。

在JET RT页上,选择你的程序的位置。

执行试运行操作。

最后,选择Excelsior Installer 这一项。

在 综合项 页上, 填写厂商数据 , 像是公司,产品和
版本, 而且为程序定义快捷方式。

在完成页上生成安装包。

以上就是所有的内容,现在你就可配置你的程序。

5. 包大小讨论
-----------------------

这个例子是一个小的程序。 它有几K大小。
让我们比较安装包的大小:

MandSet.jar+ swt.jar+ swt-win32-xxxx.dll,经过压缩: 1.0 MB
需要要在 目标 系统上预先安装 JRE

相同文件加上 JRE 1.3.1,不包括可选择文件,经过压缩: 6.8 MB
包括 JRE

被JET编译的 MandSet,用 JetPackII 包装: 3.6 MB
不需要 JRE

被 JetPerfect Global Optimizer 编译 的 MandSet,经过压缩: 1.3 MB
不需要 JRE

---------

关于 JetPerfect 的较多信息, 参见 " JetPerfect Global Optimizer" 的JET用户使用指南。

最后, 从../JetPerfect检验这个示例  

 类似资料: