我已经使用
将资源添加到类路径中<additionalBuildArg>-H:IncludeResources=.*/kubernetes_auth.crt$</additionalBuildArg>
<additionalBuildArg>-H:Log=registerResource:verbose</additionalBuildArg>
构建图像时,我可以在日志中看到是否添加了图像
ResourcesFeature: registerResource: classes/kubernetes_auth.crt
但是,当我尝试使用以下在Java中运行的代码读取资源时,它将返回null
InputStream is = KubernetesResource.class.getResourceAsStream("/kubernetes_auth.crt");
我尝试过使用这些变体,但相同会返回null
Thread.currentThread().getContextClassLoader().getResourceAsStream("/kubernetes_auth.crt");
ClassLoader.getSystemClassLoader().getResourceAsStream("/kubernetes_auth.crt");
getClass().getResourceAsStream("classes/kubernetes_auth.crt");
Quuarkus 0.13.3和0.14.0版本以及Graal rc14,rc15,rc16版本
答案 0 :(得分:0)
如发现的那样,您需要指定要加载的资源。
从Quarkus 1.8.0开始(以及之前的一段时间),您可以使用属性列出应该可供本机映像加载的资源:
bash
该属性支持以逗号分隔的文件列表。用于构建本机映像的配置参考中描述了此列表的语法:https://quarkus.io/guides/building-native-image#configuration-reference