如何把一个java程序打包成exe文件,运行在没有java虚拟机的机器上?

如题。

首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了;但是exe文件在没有安装jre的电脑上不能运行,如果要求客户再去安装jre 设置环境变量 就不雅了。我们需要将jre打包。

这几步操作网上介绍的插件和方法很多,但有的好用有的不好用,而且有的还需要注册。经过尝试比较,在“千里冰封”的博客上得到了很大的帮助。整理一下。使用这几个工具,您也可以顺利的发布您的java程序!

1 打包成双击可执行的jar文件。

推荐插件:fatJar(Eclipse使用)

下载地址 http://sourceforge.net/project/showfiles.php?group_id=115990&package_id=125924

我用的是Eclipse,它自带的打包方法在打包一些图片等资源时不是很爽。可以使用这个插件。

安装方法解压后将plugins文件夹下的net.sf.fjep.fatjar_0.0.24文件夹拷到eclipse安装目录的plugins 下。

用此工具可以方便的将eclipse中的工程打包成jar文件。如果是要打成可执行的jar请注意选取主类。

你的项目=〉Export..=>向导里有fat jar =>...

2 将jar文件转换成exe文件。

推荐工具:exe4j

用exe4j把java打包成exe

http://www.blogjava.net/hadeslee/archive/2007/10/12/152228.html

在我们写程序的时候,有时会有一种需求,那就是希望我们的程序是一个可执行文件,而不是一个 jar文件,其实大部份时候,可执行的jar文件都可以满足要求,但是如果我们的程序是需要保护的,那么打包成jar文件就不太安全了,因为jar文件就是一个解压缩文件,一解压就什么都能看到了,当然也可以选择混淆,但是混淆了以后排错就没那么容易了,因为混淆的时候,把一些类的信息都混淆了。如何既保证代码的安全又容易排错呢?那么打包成exe就是一种很好的办法了,其实我今天介绍这个方法并不是希望大家去打包成exe文件,因为exe文件毕竟不是跨平台的,用了exe的格式就失去了java的初衷了。

exe4j可以打包成各种格式的exe,可以把jar打包进exe,也可以引用一个外部的 jar文件,还可以打包成windows服务的程序,并且可以设置最低jre的版本,还可以设定启动画面,虽然java6.0已经实现了这一点,但是还是没有exe4j生成的启动画面快。

3 将exe文件并jre打包成安装文件,可以在没有安装java虚拟机的电脑上运行

推荐工具:install4j

Install4j介绍

http://www.blogjava.net/hadeslee/archive/2007/10/15/152855.html

install4j是一个功能强大的,多平台Java安装文件生成工具,用于生成Java应用程序本地化的安装及应用程序发布。 install4j 的优异性在于它易于使用,紧密的集成到目标平台,以及灵活的JRE 管理与部署选项。

创建发布树

install4j的图形用户界面允许你:

* 完全自定义发布树

在发布树的每一个目录中,你能设置整个目录内容或是磁盘上任何目录的单个文件。定义的视图与结果视图让你能完全控制安装程序将发布的文件。

* 处理特定平台的差异

install4j提供方便的“包含/排除”机制,使其适应平台方式来进行发布。

* 针对Unix, Linux 及Mac OS X所定义的文件权限

对发布树的每一个元素,当其安装在类似于Unix这样的平台上时,你能自定义用户访问的权限。

* 定义优良的卸载策略

对发布树的每一个元素,你能决定在卸载时是否删除它。

* 定义覆盖策略

对发布树的每一个元素,你能配置不同的覆盖策略,当安装过程中需要覆盖文件时,这些覆盖策略会指示nstall4j进行相应的操作。

* 定义安装的组件

你能定义文件及目录的分组,形成分离的安装组件,这样你就可提供给用户来选择只安装一定的组件。

其实一个好的应用如果不太好布署,那么别人也只能对它望而兴叹了,现在有了 install4j,很多布署的问题几乎全部解决了.我们可以用exe4j打包java应用,然后用install4j发布java应用,以前java程序布署难的问题,现在几乎都解决了.install4j不但用于打包很合适,并且它还提供了一组很强大很实用的与平台相关的api.这些对于扩展我们的程序也是有很大的帮助的.

http://blog.csdn.net/jimmy292/archive/2009/03/06/3963623.aspx

参考资料:http://blog.csdn.net/jimmy292/archive/2009/03/06/3963623.aspx

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-14
首先,你的想法和我曾经的想法一样,现在看来都是很幼稚的.
1.java可以打成exe,但是脱离不了JDK,否则不能运行.
这种的想法就是把你的EXE和JDK打成一个包.
2.长期的win32程序统治局面给我们造成错觉.程序还是EXE直观,其实你看好多的Java产品.包括Tomcat Weblogic等会有好多bat 文件引导运行的.
3.类似于vb c++ 可以打成EXE,那是因为windows系统已经把那些类库做到系统中了,否则那些程序打成包也需要好十几M 呢.
Java打成EXE的意义并不大,在有JDK的环境上用bat引导吧.java的优越之处在于企业级web开发,这是那些桌面程序无可比拟的.当然不可否认我说的也有点绝对.但是大多数情况下是对的.算一个老java程序员了吧.
第2个回答  2009-05-14
java的貌似不能打成exe文件吧。不过可以打成jar文件,然后里面弄一个具有main函数的程序来执行。具体方法网上很多,书上一般也都有,就不具体说明了
第3个回答  2009-05-14
这个在理论上是行不通的,各是各的语言规则,最好不要在这上面花白工夫

如何把一个java程序打包成exe文件,运行在没有java虚拟机的机器上?
exe4j可以打包成各种格式的exe,可以把jar打包进exe,也可以引用一个外部的 jar文件,还可以打包成windows服务的程序,并且可以设置最低jre的版本,还可以设定启动画面,虽然java6.0已经实现了这一点,但是还是没有exe4j生成的启动画面快。3 将exe文件并jre打包成安装文件,可以在没有安装java虚拟机的电脑...

如何将java打包成exe文件在没有jre环境的电脑上执行?
对于Windows用户而言,另一种方法是利用.NET Framework环境,此框架可能已在您的电脑上安装。通过使用IKVM.NET,一个开源Java虚拟机(JVM)实现,您可以执行Java程序。IKVM.NET提供了ikvmc工具,可将Java的JAR文件编译为可执行的.exe文件,方便在不依赖JRE的环境中运行。此方法相对灵活且免费,但请务必确保...

JAVA如何编译成EXE的文件?如何实现自编译(不要虚拟机还可运行)?
(1) 使用InstallAnywhere等工具,将应用程序和JRE一起打包,制作一个exe的安装包。在安装过程中,用户可以选择使用他机器上的JRE或是这个安装包内的JRE来运行程序。这是很常见的一种做法,显得比较专业,而且原来的程序不需要作任何改动,安装后的程序即在JVM上运行,可以获得原本的效果。如JBuilder就是这...

如何把java程序 整理成可执行的exe文件 在别的没有java虚拟机上...
1. 从www.towerj.com获得一个TowerJ编译器,该编译器可以将你的CLASS文件编译成EXE文件。2. 利用微软的SDK-Java 4.0所提供的jexegen.exe创建EXE文件,这个软件可以从微软的网站免费下载,地址如下:http:\/\/www.microsoft.com\/java\/download\/dl_sdk40.htm jexegen的语法如下:jexegen \/OUT:exe_f...

如何java程序封装成.exe文件
可以把普通的Java程序做成真正的exe,也就是单一个exe就可以在没有安装JVM的机器上运行。这样的工具常见的有JET和gcj.前者是收费的,而且做出来的exe还是需要一堆dll。推荐使用gcj.他有windows和Linux版,直接下载zip包,不需要安装,里面有不少例子,一些build的批处理文件。从原理来说gcj自己实现了JVM...

怎么让JAVA的JAR文件生成脱离虚拟机也可以运行的EXE文件
用JBuilder打包好以后,不要jar格式的,选择exe格式的就可以运行了!

java程序怎么才能脱离matlab环境运行啊?
若想将 Java 程序打包成独立的可执行文件,可以使用工具如 JAR(Java ARchive)或者 .exe(Windows 平台)封装。对于 .jar 文件,你可以使用 jar 命令将类文件和其他资源打包,例如 `jar cf Main.jar Main*.class`。然后在任何没有安装 JDK 的环境中,通过双击 .jar 文件来运行程序。对于 Windows ...

Java做好的程序如何生成exe
1、先把自己的程序发布成jar文件 这是eclipse自带的功能,右键工程包-->Export 然后选择Java-->JAR file,点击next 2、选择输出路径,next 3、取消勾选Export class files with compile errors 因为一般warnings可以忽视,而errors不行,点击next 4、选择main class,即带有main方法的类,finish即可 5、...

...机文件,不就可以在没有安装虚拟机的机器上面运行该程序了吗_百度知...
把java程序打包成一个ext,打包的时候选择打包jre,这样就可以了

如何将java源程序打包成可执行文件
把 java项目 打包成 exe 可执行文件! 打包跨平台的.exe文件。安装后运行左窗窗口标有十步。 第1步 : 完全略过,直接点Next 第2步 : 选择“JAR in EXE mode” 就是选择已经有制作好的jar文件。第3步 : 上面是项目名称,可随便填写,下面一个写出想要将打包后的exe文件输出的目录的是“桌面\\...

相似回答