先说说基本流程:(Windows环境,springboot v3.2.1)
1.首先maven pom.xml中加入如下代码
<build> <plugins> <plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
2.然后下载安装graalvm ,(以下链接是我使用的版本,也可以直接搜索官网下载最新版
https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_windows-x64_bin.zip
下载后解压,选择一个纯英文路径,将解压后的文件夹放进去
例如: D:\Program Files\graalvm-jdk-21_windows-x64_bin
3.由于windows命令行会有命令长度限制,需要使用一下vs的 x64 Native Tools Command Prompt for VS 2022(64位环境)
安装visual studio 2022 community
以上链接是vs2022下载器下载地址,安装时注意勾选以下选项
同样需要额外注意语言包选项卡 去掉 “中文”勾选项,如果勾选此项可能会出现
Error: Native-image building on Windows currently only supports target architecture: AMD64 (?? unsupported)
或者类似的问题
之后直接安装结束。
注*
/*看到有些其他教程会说需要勾选Windows10 SDK
我没有勾选但是成功了*/
至此Windows下的环境安装设置结束
4.开始打包过程:
打开 x64 Native Tools Command Prompt for VS 2022 ;
*由于按照此流程并没有配置环境变量,所以需要执行如下命令
set JAVA_HOME=X:\your_path_to\graalvm-jdk-21_windows-x64_bin\graalvm-jdk-21.0.2+13.1 #到graalvm的bin目录同级
之后切换目录到需要打包项目的pom.xml 文件所在目录
cd X:/your/path/to/pom
最后一步,执行
mvn -Pnative native:compile
正常情况下等着就好,最后在target目录下会有一个崭新的 exe文件
但是吧,要是一切正常就不会有这个文章了
首先,这是一个朋友执行时遇到的问题,注意画圈部分
这个问题就是目前所在的目录中找不到pom.xml,如果你也遇到了那就是没好好按照上边流程执行,执行
mvn -Pnative native:compile 的时候,需要切换目录到pom所在目录
其次,
@target........*.args returned non-zero result
这个问题,这是因为 @target........*.args 这个args文件中,文件目录层级分割符号使用的是 \\,需要把\\ 替换为 / 然后保存,直接修改项目的 target/tmp/***.args 文件,批量替换"\\"为"/"之后保存
然后直接复制上图中我框选的报红部分的 Execution of 之后 至 non-zero 之前的内容,然后在命令行粘贴执行即可
X:\your\path\to\graalvm\bin\native-image.cmd @target\tmp\native***.args
等待执行结束即可
标签:02,bin,exe,target,args,pom,graalvm,21 From: https://www.cnblogs.com/ilswwnlm/p/18025544