eclipse-项目打包与发行(2)

2019-04-22 08:25

图7.7 程序运行效果图 6、注意事项

本例只需要三个支持包,但你的程序也许会需要更多的支持包才能运行。如果你想一次到位,则可以将“Java构建路径”的“库”选项卡中所有引用的包都复制到lib目录中。如果你喜欢用到什么包才加入什么包,希望维持打包文件的简洁,则需要自己一步步的去试:如果缺少某支持包,运行程序时会输出的未找到类的错误信息,从信息中的包名可得知程序缺少哪一个支持包。比如“Exception in thread \org/eclipse/jface/wizard/IWizard”,从错误信息中很明显的就能知道程序缺少jface包 7.1.3 其他得到JAR包的方式

要得到JAR包除了以上所说的用Eclipse“导出”向导、用WinZip和WinRAR,另外还能用Java自带的命令行式打包软件jar.exe(位于c:\\jdk\\bin目录),其打包命令为: c:\\jdk\\bin\\jar cvfm myswt.jar

C:\\eclipse3.0.1\\eclipse\\workspace\\myswt\\manifest.txt -C C:\\eclipse3.0.1\\eclipse\\workspace\\myswt\\bin .

说明:

? c:\\jdk\\bin\\jar - 由于本书没有把c:\\jdk\\bin加入到windows环境变量path中,所以手工指定jar.exe的路径

? cvfm - jar.exe的参数,“c”创建新的jar包;“v”将调试信息打印在屏幕上;“f”指定生成的jar文件名;“m”使用清单文件。注意它们都是小写 ? myswt.jar - 打包后的JAR包名

? 在前面是把清单文件manifest.txt放在

C:\\eclipse3.0.1\\eclipse\\workspace\\myswt\\目录下。如果将它和批处理文件放在一个目录就不必指定长长的路径了。

? “-C 路径 . ”指将路径下(包括子目录)的所有文件打包,由于class文件是输出在项目的bin目录下,所以路径指定到项目的bin目录,注意三者之间是用空格隔开,并且最后一个字符是小数点。

这种方式的优点是没有Eclipse导出向导的操作那么麻烦,适合经常需要导出JAR包的情况。

7.1.4 使用第三方插件对项目打包

开源组织(http://sourceforge.net/)中有一款可将Eclipse支持包和项目编译文件一起打到一个包中的插件,叫“Fat Jar”,它的下载地址是“http://fjep.sourceforge.net/”,具体下载不再说明,安装步骤参阅第1章SWT Designer的安装。 Fat Jar的使用步骤如下:

(1)右键单击myswt项目的项目名,可见菜单中多了一项“Build Fat Jar”,如下图7.8所示,选择“Build Fat Jar”项。

图7.8 右键菜单

(2)在下图7.9所示的对话框中,“Jar-Name”项填入JAR包的输出路径。文件清单“Manifest”项不用填,默认会自动创建一个。“Main-Class”项填入程序的入口类。其他都接受默认值,单击“下一步”。

图7.9 输出配置

(3)如下图7.10所示,窗口中将myswt项目所用到的支持包都列了出来。我们仅勾选图中runtime.jar、swt.jar、jface.jar这三项即可,当然全选也并尝不可,只是最后得到的JAR包会更大一些,因为Fat Jar会将所有支持包合并在一个JAR包中。

图7.10 选择要打包的文件

单击图7.10的“完成”按钮后, JAR包myswt.jar将输出到D:\\myswt_applicationh目录中。和以前一样,要运行此JAR包需要一个批处理文件以及本地化文件swt-win32-3063.dll,唯一不同的是不再需要Eclipse支持包,其目录结构如下图7.11所示:

图7.11 目录结构

为什么不需要Eclipse支持包了呢?那是因为支持包已经在myswt.jar文件中了,从下图7.12可以看到swt.jar等都被拆散成目录,并包含在myswt.jar包中。

图7.12 myswt.jar的内部目录结构

其中META-INF目录的MANIFEST.MF文件内容如下,可以发现和以前不同的地方是:Class-Path项没有了。 Manifest-Version: 1.0

Created-By: Fat Jar Eclipse Plug-In

Main-Class: book.chapter_4.wizard_dialog.WizardDialog1 7.1.4 让用户电脑不必安装JRE环境

通常运行Java程序有个前提条件:用户电脑必须先安装JRE环境。虽然安装JRE环境非常简单,但毕竟多了一步,算是有一点点的瑕疵。这里给出一个不必让用户安装JRE环境的方法,其实现步骤如下:

(1)将原JDK中的“jre”目录复制到“D:\\myswt_application\\java1.4.2”目录下(java1.4.2也可换成其他名称)。

(2)将JDK和JRE从本机卸载掉,这样表示本机没有安装JAVA运行环境。 (3)修改批处理文件run.bat中的命令为“start java1.4.2\\jre\\bin\\javaw -jar myswt.jar”,仅仅是在javaw前加上了一个相对应路径。

双击run.bat即可在不安装JRE环境的电脑运行此Java应用程序。 7.1.5 更进一步的完善 1、抛弃批处理文件(*.bat)

用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。

我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是:

http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm 下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下图7.13所示:

图7.13 JavaLauncher.zip目录结构 在上图的目录中

? source目录包含了JavaLauncher的源程序,是用C语言写的 ? changes.txt是新版的修改说明 ? launch.exe是主程序

? launcher.cfg是配置文件 ? readme.txt是一些说明和示例

我们只需要launch.exe、launcher.cfg两个文件,将这两个文件复制到打包文件所在的目录。launcher.cfg是一个仅三行内容的文本文件,将它修改如下: .

.\\java1.4.2\\jre\\bin\\javaw.exe -jar myswt.jar

? 第一行设置指向JAR包myswt.jar的目录,由于launch.exe和myswt.jar同在一个目录,所以用“.”即当前目录。

? 第二行设置指向jre\\bin\\javaw.exe的路径。在上一小节(7.1.4节)已将jre目录复制到了java1.4.2子目录中

配置好launcher.cfg后,双击launch.exe即可运行java应用程序。

如果仔佃研究eclipse的启动方式,发现eclipse和JavaLauncher的原理一样:eclipse.exe相当于launch.exe,startup.jar相当于myswt.jar。只不过eclipse.exe不象launch.exe要具有通用性,所以它没有*.cfg这样的配置文件,而是将启动信息固化在eclipse.exe中。 2、美化图标

launch.exe文件的图标太单调了,让我们给它换个好看点的。换程序的图标需要用到一个免费的软件:Resource Hacker,它有中文版,下载网址是: http://www.users.on.net/johnson/resourcehacker/ 用Resource Hacker来替换launch.exe的图标的步骤如下: (1)运行Resource Hacker,得到如下图7.14所示的窗口。

图7.14 Resource Hacker的主界面

(2)单击主菜单“文件→打开”,将launch.exe载入到程序中,结果如下图7.15所示。


eclipse-项目打包与发行(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:全科医生转岗培训练习册答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: