如何在用Quarkus构建的本机映像中包含其他资源?

时间:2019-06-07 20:35:51

标签: quarkus

我有一个项目,其中包含extra-config.properties中的文件src/main/resources,我在代码中使用以下文件对其进行引用:

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

这在JVM模式下非常有效,但是当我构建本机映像时,该文件不可访问,因为它不包含在二进制文件中。

我如何指示Quarkus包含它?

1 个答案:

答案 0 :(得分:0)

构建本机二进制文件时,默认情况下GraalVM在映像中不包括类路径资源。相反,您需要指定here来指定-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>