java - Java getResourceAsStream 在 JAR 中始终为空
问题描述
我知道,他们有很多文章讨论它......但它对我不起作用。我有如下结构的html文件
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
推荐阅读
- android - 如何在 JetPack-Paging3 中使用多项目类型?
- python - Pandas 按单元格解析
- postgresql - plpgsql 为属性名后面的类型赋值
- c# - DotSpatial (C#) re-projections - “InitializeExternalGrids”导致 .Net “冻结”
- android - Android Avd 被杀
- c# - 是否可以在非静态方法上启动程序?
- android - 如何从 Google Play 控制台删除/隐藏上传的发布版本?
- wordpress - Wordpress PeepSo 修改 - 在活动流中显示 WP 评论
- r - 从 R 包输出到用户的主文件空间,而不是“恶意或反社会”
- c# - 如何使用 LibGit2sharp 在 repo 中添加 git 子模块