jdk11 获取不到resources下静态资源

315 阅读1分钟

1.问题的产生

原本jdk8下使用的代码,获取静态资源的方式如下,且正常使用。

URL img = this.getClass().getClassLoader().getResource("images/icon.png");

目录结构如下:

1650076719(1).jpg

将jdk升级为jdk11并且添加module-info.java后文件获取不到。此时目录结构如下:

1650076691(1).jpg

module-info.java 内容如下

module org.chuan {
    requires java.base;
    requires java.logging;
    requires java.management;
    exports org.chuan;
}

2.问题解决

通过调试发现重要代码:

1650077115.jpg

1650077278(1).jpg

3.解决办法

module org.chuan {
    requires java.base;
    requires java.logging;
    requires java.management;
    opens images;
    exports org.chuan;
}

4.总结

除了度娘,我们还有自己辛勤的小手,自己动手丰衣足食。
jdk11 module正在学习中...