GraalVM - 打包 Java 程序为 exe 可执行程序

GraalVM - 打包 Java 程序为 exe 可执行程序

  • 环境
  • 安装配置
    • Visual Studio
    • GraalVM
      • native-image
  • 使用
    • java
    • native-image
  • 总结


环境

系统: Win10 2004
VS: Visual Studio 2019
GraalVM: graalvm-ce-java11-windows-amd64-20.2.0.zip


安装配置

Visual Studio

安装 Visual Studio 主要是 GraalVM 将 class 文件编译成 exe 文件需要 MSVC 环境, 虽然体积很大, 但重要的是配置简单.
GraalVM - 打包 Java 程序为 exe 可执行程序_第1张图片

GraalVM

GraalVM 下载后是一个压缩包, 所以下载完后, 将它放置我们的软件安装目录后解压, 然后配置环境变量
GraalVM_HOME
由于 GraalVM 本身就包含了 JDK 的命令, 所以这里需要注意与原来安装的 JDK 环境的冲突, 可以在使用 GraalVM 的时候把 JAVA_HOME 指向 GraalVM 的安装目录, 后面要使用原来的 JDK 的时候再改回去.

注意: GraalVM 命令需要在 CMD 环境里使用

native-image

在使用前我们需要安装 native-image, 执行命令 gu install native-image, 由于国内环境, 下载安装速度很慢, 可能需要重试几次才能完成.

使用

我们先准备一个 Hello world java 源码文件

java

Main

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello world");
    }
}

编译 javac Main.java 执行 java Main
GraalVM - 打包 Java 程序为 exe 可执行程序_第2张图片

native-image

接下来就是重点了, 执行 native-image Main
GraalVM - 打包 Java 程序为 exe 可执行程序_第3张图片
发现报环境没有 cl 命令, cl 命令是在 Visual Studio 里的, 而安装的时候, 是没有自动添加到我们系统的环境变量里的, 这时我们需要去执行一个脚本, 这个脚本是在 Visual Studio 的安装目录
GraalVM - 打包 Java 程序为 exe 可执行程序_第4张图片
注意的是, 不是双击执行, 而是要在我们刚刚的 CMD 命令行里执行, 将添加相关环境变量到该 CMD 环境, 因为是临时变量, 所以只对该 CMD 生效, 若需要一直生效, 可以查看该 bat 脚本, 手动添加到系统环境变量里去

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
call  vcvars64.bat

当然,你也可以在开始菜单单击执行:
GraalVM - 打包 Java 程序为 exe 可执行程序_第5张图片

再次执行 native-image Main
GraalVM - 打包 Java 程序为 exe 可执行程序_第6张图片
查看目录生成了多个文件, 其中一个文件以 .exe 结尾, 执行
GraalVM - 打包 Java 程序为 exe 可执行程序_第7张图片
执行成功, 生成的可执行文件也还是挺大的, 这是因为内部集成了 Java 所需要的运行环境.

总结

以上就是今天要讲的内容,本文仅仅简单介绍了 GraalVM 的 native-image 命令的使用. GraalVM 是 Oracle 野心勃勃的项目, 它可以执行 js/py/c/c++ 等语言, 似乎想大一统编程语言, 具体的大家可以去官网等地查找相关新闻博客.

你可能感兴趣的:(GraalVM,java,编程语言,jdk,windows,visual,studio)