Quarkus 从类路径加载第 3 方属性文件

Quarkus to load 3rd party properties file from classpath

我正在使用第 3 方库 (org.expressme.JOpenId:1.08),它会在初始化期间加载一些属性文件:

input = getClass().getClassLoader().getResourceAsStream("openid-providers.properties");

本机编译有效,但应用程序在运行时抛出异常:

java.lang.NullPointerException: inStream parameter is null
2021-07-29T18:35:18.827799150Z at java.util.Objects.requireNonNull(Objects.java:246)
2021-07-29T18:35:18.827805500Z at java.util.Properties.load(Properties.java:406)
2021-07-29T18:35:18.827809990Z at org.expressme.openid.ShortName.<init>(ShortName.java:27)
2021-07-29T18:35:18.827814580Z at org.expressme.openid.OpenIdManager.<init>(OpenIdManager.java:28)

我该如何解决这个问题?

您是否尝试过将“application.properties”更改为“/application.properties”或“classpath:path/application.properties?因为有时 maven 找不到文件。

您需要让 GraalVM 知道该资源。 如前所述 here,您可以添加如下内容:

quarkus.native.resources.includes=openid-providers.properties

在您的 application.properties 文件中