将java源代码编译为本机exe

时间:2015-01-31 08:50:50

标签: java c++ object native

是否可以将Java源代码编译为本机exe,如C ++? 像C ++一样,所有头文件都包含在编译过程中,所有需要的java库文件都应该附加在该exe文件中,而这个exe文件不应该是字节码,而应该是本机exe文件而不是jvm。

所以我想要知道的是......如果我可以用Java语法替换所有C ++语法并编译为一个exe文件,就像直接运行的C ++编译器创建的那样。

注意:我不是在谈论在exe中包装java类的包装器,最终需要jvm。

4 个答案:

答案 0 :(得分:2)

" GCJ是Java编程语言的可移植,优化,提前编译器。它可以将Java源代码编译为Java字节码(类文件)或直接编译为本机机器代码,将Java字节码编译为本机机器代码。"

请参阅: https://gcc.gnu.org/java/

答案 1 :(得分:2)

我最近尝试了Excelsior JET,它非常适合将$ git flow version x.xx.x (AVH Edition) 编译为本机Windows二进制文件。 JAR实用程序允许您在不需要Java安装的情况下在目标计算机上部署应用程序。习惯这可能有点复杂但总体上是一个很好的选择。

答案 2 :(得分:1)

我所知道的唯一的本机代码Java编译器是The GNU Compiler for the Javatm Programming Language

但是 极不可能 你真的需要一个原生代码编译器。像你被解雇的那些打包者可以使你的程序完全自包含,包括无缝地安装私有JVM。我强烈建议你check out the options in this question and its answers

答案 3 :(得分:1)

截至2020-05年,当前选项包括:

  • javapackager(在openFX中,将精简的JRE添加到可执行文件中)
  • launch4J(35kb外部依赖项,用于检查和下载或包含JRE的选项)
  • 用于真正苗条的可执行文件的GraalVM本机映像(但更多的配置用于反射)