Как включить дополнительный ресурс в собственный образ, созданный с помощью Quarkus? - PullRequest
0 голосов
/ 07 июня 2019

У меня есть проект, который содержит файл extra-config.properties в src/main/resources, на который я ссылаюсь в своем коде, используя:

getClass().getClassLoader().getResourceAsStream("extra-config.properties"))

Это прекрасно работает в режиме JVM, но когда я создаю собственный образ,файл недоступен, потому что он не включен в двоичный файл.

Как я могу дать Quarkus команду включить его?

1 Ответ

0 голосов
/ 07 июня 2019

При сборке собственного двоичного файла GraalVM по умолчанию не включает ресурсы пути к классам в образ. Вместо этого вам нужно указать -H:IncludeResources, как указано здесь .

Способ сделать это в Quarkus - настроить плагин quarkus-maven-plugin для добавления свойства additionalBuildArgs. Конфигурация будет выглядеть примерно так:

                <plugin>
                    <groupId>io.quarkus</groupId>
                    <artifactId>quarkus-maven-plugin</artifactId>
                    <version>${quarkus.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>native-image</goal>
                            </goals>
                            <configuration>
                                <additionalBuildArgs>-H:IncludeResources=extra-properties.json</additionalBuildArgs>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
...