完全不知所措。我有:
URL resource = this.getClass().getResource("eye-visible.png");并且URL的计算结果为空。"eye-visible.png“是与我的类相同的包中的一个文件,即"Controller.java":

我也尝试过(实际上我是从这个开始的):
InputStream inputStream = Controller.class.getResourceAsStream("eye-visible.png");这也会返回null。
真的卡住了-有什么线索吗??
这是一个模块化的项目,我在JDK14上运行。我使用NetBeans作为集成开发环境。以上代码行位于JavaFX应用程序的start方法中。在一个只有一个主类的新java项目中,我用上面的几行代码重现了相同的null输出: same effect。
发布于 2021-01-23 02:20:27
感谢@Andreas的评论,
->未将非.java文件复制到.class文件的位置(仅忽略)。
这是使用Maven构建的结果,Maven构建在默认情况下具有此行为(只有src/main/resources中的文件将被复制到单独的位置)。
修复方法是将此片段添加到POM.xml中(根据另一个问题的this answer ):
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</testResource>
</testResources>
</build>https://stackoverflow.com/questions/65849855
复制相似问题