【发布时间】:2021-01-31 15:22:15
【问题描述】:
我将应用程序打包在 Graal 原生映像中。
我正在使用以下方式加载属性:
InputStream resourceAsStream = MainApplication.class.getResourceAsStream("/application.properties");
但是,当我尝试执行二进制文件时,我收到以下错误:
Exception in thread "main" java.lang.NullPointerException: inStream parameter is null
当项目被打包成原生镜像时,Graal 没有附加我的application.properties 文件。
我正在使用 Gradle 和 com.palantir.graal,设置如下:
graal {
mainClass '<path-to-main-class>'
outputName '<output-name>'
javaVersion '11'
}
有没有办法可以使用build/resources 中的application.properties?
【问题讨论】:
-
看来你也有同样的问题:stackoverflow.com/questions/63609134/…
-
@ernest_k 解决方案有点过时,文档链接不正确。
-
The document it links to 似乎仅在六天前更新。但无论如何,我想你的判断力比我好。
-
即使添加了这个
option '-H:IncludeResources=\'.*/application.*properties$\'',我仍然遇到同样的错误。
标签: java gradle graalvm graalvm-native-image