Java getResourceAsStream在JAR中始终为空
我知道,他们有很多文章都在讨论这个问题……但这对我不起作用。 我有如下结构的html文件Java getResourceAsStream在JAR中始终为空,java,spring,jar,Java,Spring,Jar,我知道,他们有很多文章都在讨论这个问题……但这对我不起作用。 我有如下结构的html文件 src/main/resources ---------abc.html 我使用输入流来读取它 InputStream inputStream = getClass().getResourceAsStream("/abc.html"); BufferedReader reader = new BufferedReader(new InputStreamReader
src/main/resources
---------abc.html
我使用输入流来读取它
InputStream inputStream = getClass().getResourceAsStream("/abc.html");
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
content = reader.lines()
.collect(Collectors.joining(System.lineSeparator()));
并使用maven构建jar文件:
mvn clean package
将项目运行到jar文件并使用cmd运行:
java -jar myproject.jar
但是我总是收到java.lang.NullPointerException。请根据使用Maven时的建议,资源目录应为src/main/resources
,除非您修改默认布局
将resource
重命名为resources
,并验证JAR文件是否包含HTML文件:
zipinfo-1 myproject.jar | grep abc
您有src/main/abc.html
还是src/main/resources/abc.html
?目录名通常是resources
而不是resource
。如果省略/
,该怎么办?是否尝试InputStream=getClass().getClassLoader().getResourceAsStream(“abc.html”)代码>?@KarolDowbecki:是src/main/resource/abc.htmlhi khelwood:是一样的。对不起,我错了……应该是resources……我更新了问题