Как загрузить файл пользовательских свойств, расположенный внутри папки ресурсов в собственном образе graalvm?
Я переношу существующий проект весенней загрузки в собственный проект весенней загрузки. В моем собственном проекте загрузки Spring у меня есть файл свойств alter.properties в следующем месте:
resources/config/prod/alternate.properties
.
Этот файл загружается вручную с помощью
PropertiesFileLoader altProps = new PropertiesFileLoader("alternate.properties");
Теперь, когда я создаю собственный образ и запускаю исполняемый файл:
Caused by: java.io.FileNotFoundException: Property file 'alternate.properties' is not found in classpath
at com.blusmart.trace.config.utils.PropertiesFileLoader.loadFromClasspath(PropertiesFileLoader.java:131) ~[na:na]
... 88 common frames omitted
JDK: GraalVM 22.3, JDK 17.0.7. ОС: MacOS на чипе M2 (aarch64).
Я попытался добавить их в файл с именем resources-config-prod.json (внутри папки ресурсов) следующим образом:
{
"resources": {
"includes": [
{"pattern": "src/main/resources/config/prod/alternate.properties", "fileEncoding": "UTF-8"}
]
}
}
Пробовал много перестановок шаблона, например
config/prod/alternate.properties
*.properties$
*.alternate.properties$
*.config/prod/alternate.properties$
src/main/resources/config/prod/alternate.properties
...
...
...
но сейчас он просто не находит файл свойств.
Создайте аргументы в собственном плагине Maven.
<buildArgs>
<arg>
--verbose
-J-XX:MaxRAMPercentage=80
-J-XshowSettings:vm
-Dspring.aot.enabled=true
-H:TraceClassInitialization=true
-H:+ReportExceptionStackTraces
-H:+RunReachabilityHandlersConcurrently
-H:Name=trace-app
-H:DashboardDump=trace-app
-H:+DashboardAll
-H:IncludeResources=org/joda/time/tz/data/.*
-H:ResourceConfigurationFiles=src/main/resources/resource-config-prod.json
-H:Class=com.hidden.trace.TraceApplication
--initialize-at-build-time=org.slf4j.LoggerFactory,ch.qos.logback,org.slf4j.MDC,org.slf4j.impl.StaticLoggerBinder,
--initialize-at-run-time=io.netty,org.apache.commons.lang3.tuple.ImmutablePair
-Dspring.graal.remove-unused-autoconfig=true
-Dspring.graal.remove-yaml-support=true
</arg>
</buildArgs>
Прошу вашей помощи, но я не могу найти решение, которое работает в Интернете, и документация для Graal VM, похоже, мне не помогает. Есть ли что-то, что мне не хватает, или есть ли другой способ сделать это?