You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Linux环境下构建可在Windows运行的Spring Native原生可执行文件

Linux环境无Docker构建Windows原生Spring Native可执行文件方案

无需依赖Docker即可实现该需求,核心是利用GraalVM自带的交叉编译能力,配合MinGW-w64 Windows交叉编译工具链完成构建,具体操作步骤如下:

步骤1:安装Windows交叉编译工具链

不同Linux发行版安装命令不同:

  • Debian/Ubuntu 系列:sudo apt update && sudo apt install mingw-w64 -y
  • RHEL/CentOS/Fedora 系列:sudo dnf install mingw64-gcc -y
  • Arch 系列:sudo pacman -S mingw-w64-gcc

安装完成后执行x86_64-w64-mingw32-gcc -v验证是否安装成功,输出版本信息即为正常。

步骤2:修改pom.xml配置

找到你当前pom中的native-maven-plugin插件配置,添加交叉编译参数,修改后完整配置如下:

<plugin>
    <groupId>org.graalvm.buildtools</groupId>
    <artifactId>native-maven-plugin</artifactId>
    <version>${native-buildtools.version}</version>
    <configuration>
        <buildArgs>
            <!-- 指定编译目标为Windows x64平台 -->
            <arg>--target=windows-x86-64</arg>
            <!-- 指定MinGW交叉编译器路径,如果你安装的MinGW在PATH中可以省略该参数 -->
            <arg>--native-compiler-path=x86_64-w64-mingw32-gcc</arg>
            <!-- 静态链接依赖,减少Windows运行时依赖 -->
            <arg>--static</arg>
        </buildArgs>
    </configuration>
    <executions>
        <execution>
            <id>build-native</id>
            <phase>package</phase>
            <goals>
                <goal>build</goal>
            </goals>
        </execution>
    </executions>
</plugin>

步骤3:执行构建

直接运行常规的原生构建命令即可:
mvn clean package

构建完成后,在target目录下会生成后缀为.exe的Windows可执行文件,直接拷贝到Windows x64环境即可运行,无需预装Java环境。

注意事项

  • 如果你的项目引入了包含JNI绑定的依赖,需要提前准备对应依赖的Windows版本动态库(.dll文件),构建时将其放置在类路径下
  • 若构建过程中提示缺少Windows系统库,可在buildArgs中添加-Lxxx参数指定MinGW对应库文件的存放路径
  • 你当前使用的GraalVM 21.1.0、Spring Native 0.10.0版本组合已兼容交叉编译能力,无需升级组件版本

内容的提问来源于stack exchange,提问作者werner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 01:15:02