系统: Win10 2004
VS: Visual Studio 2019
GraalVM: graalvm-ce-java11-windows-amd64-20.2.0.zip
安装 Visual Studio 主要是 GraalVM 将 class 文件编译成 exe 文件需要 MSVC 环境, 虽然体积很大, 但重要的是配置简单.
GraalVM 下载后是一个压缩包, 所以下载完后, 将它放置我们的软件安装目录后解压, 然后配置环境变量
由于 GraalVM 本身就包含了 JDK 的命令, 所以这里需要注意与原来安装的 JDK 环境的冲突, 可以在使用 GraalVM 的时候把 JAVA_HOME
指向 GraalVM 的安装目录, 后面要使用原来的 JDK 的时候再改回去.
注意: GraalVM 命令需要在 CMD 环境里使用
在使用前我们需要安装 native-image
, 执行命令 gu install native-image
, 由于国内环境, 下载安装速度很慢, 可能需要重试几次才能完成.
我们先准备一个 Hello world java 源码文件
Main
public class Main {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
编译 javac Main.java
执行 java Main
接下来就是重点了, 执行 native-image Main
发现报环境没有 cl
命令, cl
命令是在 Visual Studio 里的, 而安装的时候, 是没有自动添加到我们系统的环境变量里的, 这时我们需要去执行一个脚本, 这个脚本是在 Visual Studio 的安装目录
注意的是, 不是双击执行, 而是要在我们刚刚的 CMD 命令行里执行, 将添加相关环境变量到该 CMD 环境, 因为是临时变量, 所以只对该 CMD 生效, 若需要一直生效, 可以查看该 bat 脚本, 手动添加到系统环境变量里去
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
再次执行 native-image Main
查看目录生成了多个文件, 其中一个文件以 .exe 结尾, 执行
执行成功, 生成的可执行文件也还是挺大的, 这是因为内部集成了 Java 所需要的运行环境.
以上就是今天要讲的内容,本文仅仅简单介绍了 GraalVM 的 native-image
命令的使用. GraalVM 是 Oracle 野心勃勃的项目, 它可以执行 js/py/c/c++ 等语言, 似乎想大一统编程语言, 具体的大家可以去官网等地查找相关新闻博客.