Mac OSX是否有本机Java AOT?
我想知道是否有一个AOT编译器可以让Mac将Java应用程序编译成本机可执行文件,从而消除对JRE的需求 我已经看到了Windows和Linux的商业示例,但是除了开源的GCJ之外,还没有找到任何适用于Mac的示例,GCJ在一些java库方面的成功有限Mac OSX是否有本机Java AOT?,java,macos,aot,Java,Macos,Aot,我想知道是否有一个AOT编译器可以让Mac将Java应用程序编译成本机可执行文件,从而消除对JRE的需求 我已经看到了Windows和Linux的商业示例,但是除了开源的GCJ之外,还没有找到任何适用于Mac的示例,GCJ在一些java库方面的成功有限 Mac的本机可执行文件将使其摆脱JRE,并可能允许对其进行签名,从而允许Java开发的应用程序可能被应用商店接受。Install4J可以将Java编译为本机OS X应用程序,但系统仍应安装JRE。Install4J只是为JRE调用创建了一个包装器
Mac的本机可执行文件将使其摆脱JRE,并可能允许对其进行签名,从而允许Java开发的应用程序可能被应用商店接受。Install4J可以将Java编译为本机OS X应用程序,但系统仍应安装JRE。Install4J只是为JRE调用创建了一个包装器 您可以为此使用JVM。() 您可以将应用程序编译为独立的可执行文件,它支持不同的类库:openjdk、Android类库实现(即使您没有在Android上运行),以及非常有限的自定义类库(基本上,由于作者需要API来运行自己的应用程序,所以他们会向其中添加方法) <>在代码库中,有一个描述如何嵌入VM并生成一个“引导”C++程序,它将运行你的应用程序,并引用“BooTimeGe”一节,如果你想编译所有的方法,并生成一个二进制映像,避免了运行时JIT编译的需要。 如果没有启动映像,您可以发送jar文件和一个将“启动”它们的可执行文件(该可执行文件将嵌入虚拟机)。有了启动映像,jar文件将另外预编译为本机代码
另一方面,如果您只需要托管语言/平台,也可以使用。请参阅Mono 2.x附带的mkbundle工具。它不是真正的本机OS x应用程序,正如您所说,它是一个包装器,仍然需要JRE。真正的AOT将Java代码编译成真正的本机应用程序,因此不存在这种依赖关系。