Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mac OSX是否有本机Java AOT?_Java_Macos_Aot - Fatal编程技术网

Mac OSX是否有本机Java AOT?

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调用创建了一个包装器

我想知道是否有一个AOT编译器可以让Mac将Java应用程序编译成本机可执行文件,从而消除对JRE的需求

我已经看到了Windows和Linux的商业示例,但是除了开源的GCJ之外,还没有找到任何适用于Mac的示例,GCJ在一些java库方面的成功有限


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代码编译成真正的本机应用程序,因此不存在这种依赖关系。