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

运行Spring Boot 3原生应用时遭遇libfreetype.so缺失错误

解决Spring Boot 3原生应用启动缺少libfreetype.so的问题

问题原因

你通过mvn -Pnative native:compile生成的原生二进制文件,依赖系统级的libfreetype共享库,但当前运行环境未安装该库,导致启动时加载失败。

解决方案

1. 本地运行环境安装依赖库

根据你使用的Linux发行版执行对应命令:

  • Debian/Ubuntu系:
    sudo apt-get update && sudo apt-get install -y libfreetype6
    
  • RHEL/CentOS/Rocky系:
    sudo dnf install -y freetype-devel
    
  • Arch Linux:
    sudo pacman -S freetype2
    

安装完成后重新执行./target/blog即可启动应用。

2. 编译阶段静态链接依赖(可选)

如果希望生成的二进制不依赖系统库,可修改pom.xml中native-maven-plugin的配置,添加静态链接参数:

<plugin>
    <groupId>org.graalvm.buildtools</groupId>
    <artifactId>native-maven-plugin</artifactId>
    <configuration>
        <buildArgs>
            <buildArg>--static</buildArg>
            <buildArg>-lfreetype</buildArg>
        </buildArgs>
    </configuration>
</plugin>

重新执行mvn -Pnative native:compile,生成的二进制将包含libfreetype的静态版本,无需在运行环境单独安装。

3. 容器化部署时解决依赖

如果用容器运行,选择包含libfreetype的基础镜像,比如BellSoft的官方镜像:

FROM bellsoft/liberica-runtime-container:jdk-17-cds-slim
COPY target/blog /app/blog
ENTRYPOINT ["/app/blog"]

构建镜像后运行即可规避依赖问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:10:25