日期:2014-05-20  浏览次数:20574 次

可否把一个.java文件编译成exe,并且能完全脱离JVM执行,也就是这个exe可以放到没有JRE的机器上执行?
可否把一个.java文件编译成exe,并且能完全脱离JVM执行,也就是这个exe可以放到没有JRE的机器上执行?

------解决方案--------------------
> 可否把一个.java文件编译成exe,并且能完全脱离JVM执行,
> 也就是这个exe可以放到没有JRE的机器上执行?

这个要看你怎么理解。

首先说,把 Java 程序搞成一个 exe,到一个“没有预装 JRE”的机器上就能直接运行,这个是完全可以做到的。

但是,真正意义上的“完全脱离JVM”是不可能的,上面说的做法也不过是在 exe 中以某种形式带了个 JVM 而已。
------解决方案--------------------
如果你能接受用 bat 的方法,可以做这样一个 bat 文件:

set JAVA_HOME= "%cd%\jre "
"%cd%\jre\bin\java.exe " -classpath ...........

如果你一定要做成 .exe,那考虑用 JBuilder 或者什么的打包工具吧。
------解决方案--------------------
可以用nativeJ打包成exe
jre是必须的
一些大公司的产品,往往会把jre捆绑在安装包中。
------解决方案--------------------
JBuilder可以吗?
===============================
JBuilder貌似可以只是因为下面自带了jdk1.4
那里面就有你熟悉的jre了。。
------解决方案--------------------
我以前用 InstallAnywhere 把 java 程序打成一个单一的 .exe 文件,但是在打包过程中其实已经将JRE包含进去了。具体你下一个InstallAnywhere, 试试打包一个程序就明白了。所以说看起来好像可以不需要JRE而直接运行,可是实际上还是没有脱离java virtual machine.