提问者:小点点

如何在使用Quarkus构建的本机映像中包含附加资源?


我有一个项目,其中包含一个文件extra-config.propertiessrc/main/Resources我引用在我的代码使用:

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

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

我怎么能指示Quarkus把它包括在内?


共1个答案

匿名用户

构建本机二进制文件时,GraalVM默认不在映像中包含类路径资源。相反,您需要指定-H:包括资源,如此处所述。

在QUUKUS中做到这一点的方法是配置QUUKUS-Maven-plugin插件以添加addtionalBuildArgs属性。配置如下所示:

                <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>