from:JR
1. jar文件包
jar 文件就是
Java Archive File,顾名思意,它的应用是与 Java息息相关的,是 Java 的一种文档格式。jar文件非常类似 zip文件??准确的说,它就是 zip文件,所以叫它文件包。jar文件与 zip文件唯一的区别就是在 jar 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 jar文件的时候自动创建的。举个例子我们聊天系统的 ChatServer.jar所包含的目录结果如下:
|---com
| ---softfz
| ---chat
| ---Server.class
|--- META-INF
| --- MANIFEST.MF
MANIFEST.MF文件的内容如下:
Manifest-Version: 1.0
Main-Class: com.softfz.chat.Server
1. 创建可执行的 JAR 文件包
制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法。
Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运行时还要到控制台下去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者
Linux 的 Shell 程序。因此,许多人说,Java 是一种方便开发者苦了用户的程序设计语言。
其实不然,如果开发者能够制作一个可执行的 JAR 文件包交给用户,那么用户使用起来就方便了。在 Windows 下安装 JRE (Java Runtime Environment) 的时候,安装文件会将 .jar 文件映射给 javaw.exe 打开。那么,对于一个可执行的 JAR 文件包,用户只需要双击它就可以运行程序了,和阅读 .chm 文档一样方便 (.chm 文档默认是由 hh.exe 打开的)。那么,现在的关键,就是如何来创建这个可执行的 JAR 文件包。
这里不具体讲jar的创建命令和过程。可执行的 jar文件包和不可执行的 jar文件包都包含 MANIFEST。关键在于可执行 jar文件包的 MANIFEST,其内容包含了 Main-Class 一项。这在 MANIFEST 中书写格式如下:
Main-Class: 可执行主类全名(包含包名)
MANIFEST.MF - 打包清单。它是打包的关键性文件,主要是设置执行入口类和支持库的路径,在运行Java应用程序时是要根据此文件中给出的信息来查找入口类和支持库。
创建exe可执行程序
抛弃批处理文件(*.bat)
用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。
我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是:
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下图所示:
1. 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 ChatServer.jar
第一行设置指向JAR包ChatServer.jar的目录,由于launch.exe和ChatServer.jar同在一个目录,所以用“.”即当前目录。
第二行设置指向jre\bin\javaw.exe的路径。可以把将%JAVA_HOME%jre目录复制到了java1.4.2子目录中。这里可以用绝对路径和相对路径,绝对路径可以直接用当前系统安装的Jdk。
配置好launcher.cfg后,双击launch.exe即可运行java应用程序。
注意点:执行.exe文件时候会先找跟.exe文件同名的.cfg配置文件,如果没有则会找launcher.cfg文件。所以可以在同一个文件目录下有多个exe可执行文件,exe文件名可以修改,配置文件最好是跟exe文件同名。
美化图标
launch.exe文件的图标太单调了,让我们给它换个好看点的。换程序的图标需要用到一个免费的软件:Resource Hacker,它有中文版,下载网址是:
http://www.users.on.net/johnson/resourcehacker/用Resource Hacker来替换launch.exe的图标的步骤如下:
(1)运行Resource Hacker,得到如下图所示的窗口。
Resource Hacker的主界面
(2)单击主菜单“文件→打开”,将launch.exe载入到程序中,结果如下图所示。
1. 载入Lanunch.exe之后的界面
(3)如上图,选择左边的“图标→1→1030”,然后右键单击“1030”项,选择“替换资源…”。如下图所示,在弹出窗口中单击“打开新图标文件”,选择一个满意的图标,然后单击“替换”按钮。
附注:图标文件可以是exe、dll、res、ico,该软件可以从exe、dll、res抽取出图标,本例选择的是java的一个图标文件JavaCup.ico。
1. 选择图标文件
(4)如下图所示,选择“文件→另存为”,取名ChatServer.exe。
保存修改
(5)最后的目录如下图所示,可见ChatServer.exe(也就是launch.exe改了个名称)的图标换成了Java的图标。双击ChatServer.exe即可运行Java应用程序。
3、最后的打包
发送给用户之前,通常要用WinZip或WinRAR将所有的文件全部打成一个压缩包,然后用户得到这个压缩包后,将其解压缩后即可运行程序。
另一种方式是用InstallShield、InstallAnyWhere这样的安装程序制作软件来创建一个单一的setup.exe文件,它具有向导式的安装界面,而且还可以往windows的程序栏插入菜单项,关于这些安装程序制作软件的具体使用请参阅相关书籍。