getClassLoader()。getResourceAsStream()在模块化Java项目(openjdk 11)中不起作用?

问题描述 投票:1回答:1

这是一个maven项目,并且在[[资源目录中有一个图像:]]├─ src ├─ main ├─ java └─ resources └─imgs └─logo.png

代码:

public class Test { public static void main(String[] args) { InputStream stream = Test.class.getClassLoader().getResourceAsStream("/imgs/logo.png"); InputStream stream1 = Test.class.getClassLoader().getResourceAsStream("imgs/logo.png"); System.out.println(stream == null ? "stream is null!" : "stream is not null!"); System.out.println(stream1 == null ? "stream1 is null!" : "stream1 is not null!"); } }

当我

添加

module-info.java进行投影时,将打印:stream is null! stream1 is null!
但是当我从项目中

删除

module-info.java时,将打印:
stream is null! stream1 is not null!
为什么?以及如何使用ClassLoader在模块化Java项目中加载资源?

[这是一个Maven项目,并且在资源目录中只有一个图像:├─src├─主├─java└─资源└─imgs└─logo.png代码:public class Test {...

java maven classloader java-11 java-module
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.