【问题标题】:How can I include an additional resource in a native image built with Quarkus?如何在使用 Quarkus 构建的本机映像中包含其他资源?
【发布时间】:2019-06-07 20:35:51
【问题描述】:

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

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

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

如何指示 Quarkus 包含它?

【问题讨论】:

    标签: quarkus


    【解决方案1】:

    在构建原生二进制文件时,GraalVM 默认情况下不包括镜像中的类路径资源。相反,您需要指定-H:IncludeResources,如提到的here

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-27
      • 2019-08-13
      • 1970-01-01
      • 2019-02-27
      • 1970-01-01
      • 2011-09-21
      • 2019-12-11
      • 2017-08-04
      相关资源
      最近更新 更多