Scala getClass.getResource() 返回 null

2022-09-01 15:33:18

我有这个代码:

val url: URL = getClass.getResource("com/mysite/main/test.fxml")

并且它始终返回 (或 )。我在项目中只有两个文件:nullUnit

MyProj/src/com/mysite/main/Test.scala
MyProj/src/com/mysite/main/test.fxml

当我运行时,该值始终为空。Test.scalaurl

我刚刚尝试重建项目,我正在使用IntelliJ IDEA。我在这里做错了什么?


答案 1

您有三种选择:

  • 利用当前包的相对路径(其中是):Test.class

    getClass.getResource("test.fxml")
    
  • 您可以使用绝对路径:

    getClass.getResource("/com/mysite/main/test.fxml")
    
  • 或通过 加载(请注意,它始终从根开始):ClassLoader

    getClass.getClassLoader.getResource("com/mysite/main/test.fxml")
    

在IntelliJ IDEA中,确保您已添加到:;?*.fxml

Settings (Preferences在 Mac 上) | |资源模式Compiler


答案 2

可能没有从 src/ 目录复制到 bin/ 目录?这在重新编译时发生,但是如果在程序编译后将其放入src/目录,IDE将不知道。


推荐