将java程序编译成可执行文件[duplicate]

问题

可能重复:如何为Java程序创建.exe?

我刚刚用eclipse创建了一个简单的程序,我想将它编译成可执行文件,但似乎无法找到如何做到这一点。请帮忙。


#1 热门回答(123 赞)

你可以通过以下方式将.jar文件转换为.exe文件:

alt text

1- JSmooth .exe包装器:
JSmooth是一个Java可执行包装器。它为你的Java应用程序创建本机Windows启动程序(标准.exe)。它使Java部署更加顺畅和用户友好,因为它能够自己找到任何已安装的Java VM。当没有可用的VM时,包装器可以自动下载并安装合适的JVM,或者只是显示消息或将用户重定向到网站。

JSmooth为你的Java应用程序提供了各种包装器,每个包装器都有自己的行为:选择你的味道!

下载:http://jsmooth.sourceforge.net/

2- JarToExe 1.8
Jar2Exe是一个将jar文件转换为exe文件的工具。以下是其网站中描述的主要功能:

  • 可以生成"Console","Windows GUI","Windows Service"三种类型的exe文件。
  • 生成的exe文件可以添加程序图标和版本信息。
  • 生成的exe文件可以加密和保护java程序,程序运行时不会生成临时文件。
  • 生成的exe文件提供系统托盘图标支持。
  • 生成的exe文件提供记录系统事件日志支持。
  • 生成的Windows服务exe文件能够自行安装/卸载,并支持服务暂停/继续。
  • 新版x64版本,可以创建64位高管。 (2008年5月18日)
  • 支持向导模式和命令行模式。 (2008年5月18日)

下载:http://www.brothersoft.com/jartoexe-75019.html

3-执行人
将Java应用程序打包为jar,Executor将jar转换为Windows exe文件,与本机应用程序无法区分。只需双击exe文件即可调用Java Runtime Environment并启动你的应用程序。

下载:http://mpowers.net/executor/

编辑:上面的链接已被破坏,但这里是来自Internet Archive.http://web.archive.org/web/20090316092154/http://mpowers.net/executor/的页面(有工作下载)

4-高级安装程序
Advanced Installer允许你在几分钟内创建Windows MSI安装。这也支持Windows Vista,也有助于使用其他语言创建MSI包。
下载:http://www.advancedinstaller.com/让我知道你用过的工具将JAR转换为EXE。


#2 热门回答(30 赞)

我会在你的情况下使用GCJ(GNU Compiler for Java)。它是用于Java的AOT(提前)编译器,就像GCC用于C而不是解释代码,或者生成中间Java代码以便稍后由Java VM运行,它生成机器代码。

GCJ几乎可以通过其各自的包管理器(如果可用)在任何Linux系统上使用。安装后,应将GCJ编译器添加到路径中,以便可以通过终端调用它。如果你使用的是Windows,则可以通过Cygwin或MinGW下载并安装GCJ。

但是,我强烈建议你将源代码重写为另一种要编译的语言,例如C语言。 Java旨在成为一种可移植的解释语言。将其编译为机器代码完全违背了为其开发的语言。


#3 热门回答(17 赞)

我用的是launch4j

ANT命令:

<target name="jar" depends="compile, buildDLLs, copy">
    <jar basedir="${java.bin.dir}" destfile="${build.dir}/Project.jar" manifest="META-INF/MANIFEST.MF" />
</target>

<target name="exe" depends="jar">
    <exec executable="cmd" dir="${launch4j.home}">
        <arg line="/c launch4jc.exe ${basedir}/${launch4j.dir}/L4J_ProjectConfig.xml" />
    </exec>
</target>