我进行了全新安装,安装之前,Java能够运行NetBeans和OpenOffice。如果这些程序是用Java编写的,那怎么可能?我知道有一些.class
到.exe
转换器,但我认为这些是黑客(不适合全球部署的大型应用程序)。在没有JRE的情况下在Java中部署应用程序的常用方法是什么?有没有一种标准或最常用的方法?用Java编写的程序如何不需要JRE?
起初我认为它与Jar文件有关,但是从红色这些需要现有的Java安装运行。
我进行了全新安装,安装之前,Java能够运行NetBeans和OpenOffice。如果这些程序是用Java编写的,那怎么可能?我知道有一些.class
到.exe
转换器,但我认为这些是黑客(不适合全球部署的大型应用程序)。在没有JRE的情况下在Java中部署应用程序的常用方法是什么?有没有一种标准或最常用的方法?用Java编写的程序如何不需要JRE?
起初我认为它与Jar文件有关,但是从红色这些需要现有的Java安装运行。
所有Java应用程序都运行在JRE之上。甚至是NetBeans和OpenOffice。
大多数可部署的Java应用程序都随附一个JRE。所以你可能会发现它没有JRE,但实际上有一个JRE,应用程序将在其上运行。
只有两种方法可以运行程序:将其编译为机器代码或使用解释器。
JRE解释Java字节码(当然还有更多的事情)。有编译器从Java源代码或字节代码生成本机可执行文件。我唯一知道的就是gcj,而且最后一次检查它仅适用于Java 5,而且似乎并不可靠。
大多数java应用程序要么需要JRE,要么包含在发行版中。
例如,您可以获得包含或不包含JRE的Oracle SQL Developer。关于Netbeans,有一些需要JDK的发行版(JRE是不够的,因为它需要编译器和开发工具),还有JDK与Netbeans捆绑销售。
现在,启动Java应用程序有三种主要方式(不包括Java Web Start等):手动运行java命令,使用脚本执行此操作,或者运行名为“wrapper”的可执行文件。
有几个包装你可以为任何应用程序定制。如果没有错误,PJ Fanning的链接包含一个列表。包装器使用JRE来运行应用程序,并轻松地在系统启动时将java应用程序作为服务启动。
所以,除非你找到一个被编译成本地代码的应用程序(然后,理想情况下,你不能说它是一个Java应用程序),否则你总是使用一些JRE,不管是预装的,还是捆绑一个。
Duplicates http://stackoverflow.com/questions/147181/how-can-i-convert-my-java-program-to-an-exe-file –
afaik OpenOffice用C++编写 – trooper
您已经安装了Java如果Netbeans跑了。 – EJP