创建 Java .exe 文件

需要创建 Java .exe 文件吗?Builder 澳大利亚的 Java 专家 Michael Geisler 在本文中分析了开发人员可以使用的几种方法。

问题
您好,Michael:
我需要为我的应用程序创建一个 Java .exe文件。创建 Java .exe 文件都需要哪些步骤?有没有什么工具能够帮助我自动地创建 Java .exe 文件?

回答
Sun 提供的标准 Java 开发包(JDK)没有提供创建特定于平台的可执行文件的工具(一点都不吃惊,这是真的)。然而,其实有很多方法能够帮助你实现这一想法。

第三方工具
一种方法是使用第三方商业工具或免费工具将 Java 应用程序打包为一个可执行文件。

下面是价格和特性都不同的两个工具,但是在 Web 上还有其它几个第三方工具可以免费下载。

http://www.bysoft.se/sureshot/exej/
http://www.duckware.com/jexepack/
使用商业安装程序(installer)
InstallAnywhere 是一个常用的安装程序,它将管理应用程序的安装过程,并将应用程序打包为可执行程序。

使用 .jar
除了以上方法之外,还可以将应用程序打包为一个可执行的 .jar 文件,而不是一个 .exe 文件。在这篇文章中我将不详细介绍这种方法,你可以在这里找到一个非常棒的在线教程

你需要做的最重要的一件事是指定在 .jar 文件中哪个类是应用程序的入口点。例如,对你的应用程序来说就是具有一个 public static void main(String[] args) 方法的引导类。可以在 .jar 表示文件的 Main-Class 头部信息中提供这些信息。这个头部信息的通用形式为:Main-Class: classname,其中 classname 是应用程序的入口点的类名称。

使用 Java Webstart
Java Webstart 是标准 Java 运行时环境(JRE)的隐藏的宝物,自从版本 1.3 开始,JRE 就包含了 Java Webstart。它是一个简单但功能强大且灵活的将应用程序部署到任何平台的方法。

Webstart 允许应用程序的用户从他们的浏览器、电子邮件或桌面启动和管理应用程序。Java Webstart 的一个主要优点是一旦应用程序被安装,在每次启动它时,它都将会检查用户是否在运行最新版本的应用程序。如果不是,应用程序将通过网络装载新版本到桌面然后执行,因此解决了软件传播问题。

如果你的应用程序已经有很多用户的话,这一点就尤其重要。还有很重要的一点是,它能够检查用户的本地桌面环境,并能保证他们安装了正确的 JRE 版本来运行你的应用程序。

Java Webstart 本身有一系列文章,所以我建议你访问 Java Webstart Web 站点查看更多文档和教程。

结束语
前两种方法可能会满足你对这个问题的需要,但是我强烈建议你仔细看一下 Java Webstart。它是 Java 标准的一部分,并且能够在所有平台下一致工作。我比较喜欢这个应用程序打包方法。


--------------------------------------------------------------------------------
本文作者:Michael Geisler 是 Sun 微系统公司的一位解决方案架构师,他在 IT 和通信行业已经有14年的从业经验。自从第一个 Java 第一个公开 beta 版本发布以来,他就一直使用 Java 编程,目前 Michael Geisler 是澳大利亚 Java 用户组(AJUG)的副总。