我创建了一个java apllication。我为我的应用程序创建了Excecutable jar和Exe文件。但它不能在没有安装计算机的系统上运行。怎么做?是否有可能在EXEcutable jar或Exe文件本身中配置JRE?有什么想法吗?
答案 0 :(得分:9)
我认为project : launch4j可能对您有用。它可以将jar包装在可执行文件中并捆绑JRE,使其行为类似于本机应用程序。
答案 1 :(得分:4)
JSmooth是一个Java可执行包装器。它为您的Java应用程序创建本机Windows启动程序(标准.exe)。它使java部署更加顺畅和用户友好,因为它能够自己找到任何已安装的Java VM。
当没有可用的VM时,包装器可以自动下载并安装合适的JVM ,或者只是显示消息或将用户重定向到网站。
答案 2 :(得分:2)
您无法将JRE打包到Jar中,但您可以将其与jar文件一起打包并让安装程序管理安装。 Sun / Oracle允许仅为此目的重新分发JRE(没有JRE的系统)。
答案 3 :(得分:1)
是的,可以从java应用程序创建特定于操作系统的可执行文件,已经有一些关于此主题的问题,例如:Embed a JRE in a Windows executable?
Java始终被编译为独立于操作系统的字节代码,该代码只能在Java虚拟机中执行,就像JRE附带的那样。
仅仅因为你用'eclipse'标记你的问题并提到'exe'文件...以防万一,你创建了一个eclipse RCP应用程序,然后有一种优雅的方法将应用程序与java运行时环境捆绑在一起:只需在应用程序目录中创建一个名为“jre”的文件夹(与插件和功能文件夹相同),然后将JRE复制到该文件夹。在eclipse导出页面中甚至可能有一个复选框,用于将应用程序与JRE捆绑在一起。
答案 4 :(得分:1)
是的,这是我回答here的另一个问题的一部分。 Java认知安装程序,它将打包JRE并将其包含在内,或者编译为“native”(JET,GCJ或IKVM)。我已经使用了最后一个用于非GUI的应用程序,它运行得相当不错。
答案 5 :(得分:0)
您可以尝试使用 CGJ 以二进制文件编译它。您必须在要从中捆绑应用程序的主机上安装Cygwin或MinGW,但这是一个明确的解决方案,因为它以本机代码编译整个程序。
看看here ..