使用GraalVM如何将SpringBoot项目打包成exe
前言
本人测试使用 jdk17、Visual Studio 2022、maven-3.8.8、GraalVM 22、idea 2022
这些环境大家自行配置,对一些简单错误进行了处理
操作步骤
步骤一
创建SpringBoot项目(只是写了个简单的web项目进行测试)



步骤二
生成项目

步骤三
打包exe前准备 PS:不要在idea 插件 native 进行打包


步骤四
执行打包命令 mvn -Pnative native:build

报错处理:
错误1:Could not find goal 'build' in plugin org.codehaus.mojo:native-maven-plugin:1.0-M1 among available goals compile, compile-message, help, inczip, initialize, javah, link, manifest, ranlib, resource-compile, unzipinc -> [Help 1]

解决:
看上面步骤四,是不是切换到了项目目录,里面是否有 pom.xml文件!
错误2:
Execution of C:\Users\gy\Desktop\graalvm-jdk-22+36.1\bin\native-image.cmd @target\tmp\native-image-11792734409341166440.args returned non-zero result -> [Help 1]

解决:
看 步骤二 没有执行 spring-boot:process-aot
错误3:
'gu.cmd' tool was not found in your JAVA_HOME.This probably means that the JDK at 'C:\corretto-17.0.8.1' is not a GraalVM distribution. -> [Help 1]

解决:
改一下 JAVA_HOME 环境变量目录,改成 graalvm的目录

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
深入理解@component与@Configuration注解
这篇文章主要介绍了深入理解@component与@Configuration注解,从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被扫描,并用于构建bean定义,初始化Spring容器,需要的朋友可以参考下2023-11-11
Springboot打包代码,反编译后代码混淆方式(防止还原代码)
文章主要介绍了如何对Spring Boot项目进行jar包混淆,以防止反编译还原原始代码,通过在项目中添加proguard.cfg文件并配置Maven插件,可以实现代码混淆,从而增加反编译的难度2024-11-11
SpringMVC中redirect重定向(带参数)的3种方式
Spring MVC中做form表单功能提交时,防止用户客户端后退或者刷新时重复提交问题,需要在服务端进行重定向跳转,本文主要介绍了SpringMVC中redirect重定向(带参数)的3种方式,感兴趣的可以了解一下2024-07-07
Spring Cloud 中自定义外部化扩展机制原理及实战记录
这篇文章主要介绍了Spring Cloud 中自定义外部化扩展机制原理及实战,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-02-02


最新评论