首页 > 解决方案 > 运行spring boot原生应用,无法加载资源文件

问题描述

我正在尝试将 Spring Boot 应用程序编译为本机应用程序并使用 docker 运行它。我正在使用 spring-graalvm-native 0.8.5 版和 Spring Boot 2.4.1 版。我正在尝试使用以下命令使用 spring-boot-maven-plugin 构建 docker 容器:

mvn spring-boot:build-image

在代码中,我想从资源中读取一个文件,并尝试像这样加载它:

@Value("classpath:my.json")
Resource resourceFile;

编译步骤工作正常,但问题是当我运行 docker image my.json 文件时没有加载,找不到它。

我运行native-image-agent并生成 META-INF 文件夹,其中 resources-config.json 文件添加了 my.json 模式。

我还尝试配置 spring-boot-maven-plugin 并添加:

-H:IncludeResources='.*/my.json$'

但是这些配置都不起作用,您能帮我找出问题所在吗?

此致

项目结构:

在此处输入图像描述

标签: springspring-bootgraalvmgraalvm-native-image

解决方案


推荐阅读