使用GraalVM如何将SpringBoot项目打包成exe

 更新时间:2024年12月24日 11:19:02   作者:Name.Gy  
本文介绍了如何使用GraalVM和Maven将Spring Boot项目打包成可执行文件的步骤,并详细解释了在打包过程中遇到的常见错误及其解决方法

前言

本人测试使用 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的目录

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 接口签名怎么用Java实现

    接口签名怎么用Java实现

    今天带大家学习java的相关知识,文章围绕怎么用Java实现接口签名展开,文中有非常详细的代码示例及介绍,需要的朋友可以参考下
    2021-06-06
  • 深入理解@component与@Configuration注解

    深入理解@component与@Configuration注解

    这篇文章主要介绍了深入理解@component与@Configuration注解,从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被扫描,并用于构建bean定义,初始化Spring容器,需要的朋友可以参考下
    2023-11-11
  • 使用@Slf4j注解,log.info()无法使用问题

    使用@Slf4j注解,log.info()无法使用问题

    在使用Lombok的@Slf4j注解打印日志时遇到问题,通过降低Lombok版本(从1.18.x降至1.16.10)解决了问题
    2024-12-12
  • Springboot打包代码,反编译后代码混淆方式(防止还原代码)

    Springboot打包代码,反编译后代码混淆方式(防止还原代码)

    文章主要介绍了如何对Spring Boot项目进行jar包混淆,以防止反编译还原原始代码,通过在项目中添加proguard.cfg文件并配置Maven插件,可以实现代码混淆,从而增加反编译的难度
    2024-11-11
  • SpringMVC文件上传 多文件上传实例

    SpringMVC文件上传 多文件上传实例

    这篇文章主要介绍了SpringMVC文件上传 多文件上传实例,有需要的朋友可以参考一下
    2014-01-01
  • java生成缩略图的方法示例

    java生成缩略图的方法示例

    这篇文章主要介绍了java生成缩略图的方法,结合具体实例形式分析了java生成缩略图过程中所涉及的各种常见的图形处理技巧,需要的朋友可以参考下
    2017-03-03
  • java提取json中某个数组的所有值方法

    java提取json中某个数组的所有值方法

    下面小编就为大家分享一篇java提取json中某个数组的所有值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • SpringMVC中redirect重定向(带参数)的3种方式

    SpringMVC中redirect重定向(带参数)的3种方式

    Spring MVC中做form表单功能提交时,防止用户客户端后退或者刷新时重复提交问题,需要在服务端进行重定向跳转,本文主要介绍了SpringMVC中redirect重定向(带参数)的3种方式,感兴趣的可以了解一下
    2024-07-07
  • java线程之线程的生命周期的使用

    java线程之线程的生命周期的使用

    本篇文章介绍了,java线程之线程的生命周期的使用。需要的朋友参考下
    2013-05-05
  • Spring Cloud 中自定义外部化扩展机制原理及实战记录

    Spring Cloud 中自定义外部化扩展机制原理及实战记录

    这篇文章主要介绍了Spring Cloud 中自定义外部化扩展机制原理及实战,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02

最新评论