下载GraalVM ,github地址
https://github.com/graalvm/graalvm-ce-builds/releases/
CentOS系统得下载amd64 平台的,可别下载aarch64的(运行不了java命令)
废话不啰嗦了,直接开干!
cd /usr/local/ wget https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java11-linux-amd64-22.1.0.tar.gzhttps://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java11-linux-amd64-22.1.0.tar.gz tar -zxvf graalvm-ce-java11-linux-amd64-22.1.0.tar.gz # 配置环境变量 vi /etc/profile 添加以下配置: export JAVA_HOME=/usr/local/graalvm-ce-java11-22.1.0 export GRAALVM_HOME=/usr/local/graalvm-ce-java11-22.1.0 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 然后wq 保存退出 让配置生效 source /etc/profile 测试配置结果 echo $JAVA_HOME java -version which java安装 native-image
gu install native-image是在线安装,可能安装失败,推荐去github上下载对应平台的版本。离线安装命令 gu install -L 文件下载的本地位置
国内网络下载比较慢建议进行离线安装
native-image 离线版下载地址:
https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/native-image-installable-svm-java11-linux-amd64-22.1.0.jar
安装native image 成功
编译 jar 包native-image -jar [jar包全路径] [编译后的文件名称]
可以看到原 jar 包文件大小是 17MB,编译好的二进制文件是 3MB,编译时间为51s
运行编译好的文件编译好的文件是二进制文件,Linux 环境下可以直接运行。
# 运行 chmod +x demo && ./demo
参考文档:
Linux环境下GraalVM native-image将jar包编译为二进制



