Как загрузить файл пользовательских свойств, расположенный внутри папки ресурсов в собственном образе 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, похоже, мне не помогает. Есть ли что-то, что мне не хватает, или есть ли другой способ сделать это?

0 ответов

Другие вопросы по тегам