当前位置:首页 > JAVA > 正文内容

GraalVM spring-native 将JAVA程序构建为本地可执行的程序

高老师3年前 (2022-07-22)JAVA2131

【一】.部署spring-boot,如图

image.png

(1.1) .手动修改pom.xml 设置spring-boot版本为2.7.1,别问为什么,踩过坑

(1.2) .手动修改pom.xml  设置native-buildtools.version 版本指向 0.9.10,别问为什么,踩过坑

未按照上面的要求配置可能出现的问题:native-image12860059531825023930args returned non-zero result

【二】.安装graalvm 

(2.1).和安装java sdk一样,设置JAVA_HOMEPATH环境变量 ,也就是让你把graalvm和原来的java sdk一样用

(2.1).安装native-imagegugraalvmbin目录的gu.cmd

gu install -L native-image-installable-svm-java11-windows-amd64-22.0.0.2.jar

【三】.配置vc++编译环境

(3.1).使用visual studio的安装向导(不是让你安装visual studio,别慌,只是为了vc++环境),勾选如下

image.png

arm的机子选择arm,一般都是x86

安装完成后如果你有空就把他们添加到环境变量中去,毕竟方便,但是我懒的弄。

直接用这个工具即可免配置环境变量(下面都用它来执行命令编译):

image.png

【四】.编译为原生镜像

然后是使用命令编译项目:

cd D:\java\learn-file-server
mvnw clean package -DskipTests -Pnative

编译耗时是真的可怕:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:35 min
[INFO] Finished at: 2022-07-22T18:22:55+08:00
[INFO] ------------------------------------------------------------------------

target目录会生成exe文件,和go的差距太远了。2个接口生成60M文件。。。。

启动效果图:

1658485883206.png



扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/415.html

分享给朋友:

“GraalVM spring-native 将JAVA程序构建为本地可执行的程序” 的相关文章

 java字节与字符的区别,字节与字的区别与联系

java字节与字符的区别,字节与字的区别与联系

字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。字符(Character)计算机中使用的字母、数字、字和符号,比如'A'、'B'、'$'、'&'等。一般在英文...

Java不用编译直接执行

Java不用编译直接执行

public class test {     public static void main(String[] args) {     &...

java编译编码问题,java编译执行时编码问题

java编译编码问题,java编译执行时编码问题

public class test {     public static void main(String[] args) {     &...

java一个类可以有多个构造方法

java一个类可以有多个构造方法

java一个类可以有多个构造方法,根据传参类型和个数来匹配执行哪个构造方法。public class Member {     public Member(){      ...

java Character 类,java判断字符是否是一个字母,java判断字符是否是一个数字,java判断字符是否是一个空白,java判断字符是否是小写字母,java判断字符是否是大写字母,java转换字符为大写,java转换字符为小写

java Character 类,java判断字符是否是一个字母,java判断字符是否是一个数字,java判断字符是否是一个空白,java判断字符是否是小写字母,java判断字符是否是大写字母,java转换字符为大写,java转换字符为小写

java判断字符是否是一个字母System.out.println(Character.isLetter('a'));java判断字符是否是一个数字System.out.println(Character.isDigit('0'));java判断字符是否是一个空白Sy...

java stringBuffer,java stringBuffer反转字符串,java stringBuffer delete删除字符/移除字符,java stringBuffer在指定位置插入字符串,java stringBuffer替换指定位置的字符串,java stringBuffer获取指定索引的值

java stringBuffer,java stringBuffer反转字符串,java stringBuffer delete删除字符/移除字符,java stringBuffer在指定位置插入字符串,java stringBuffer替换指定位置的字符串,java stringBuffer获取指定索引的值

java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...