I have this code:
val url: URL = getClass.getResource("com/mysite/main/test.fxml")
and it always returns null
(or Unit
). I have only two files in the project:
MyProj/src/com/mysite/main/Test.scala
MyProj/src/com/mysite/main/test.fxml
and when I run the Test.scala
the url
value is always null.
I just tried rebuild the project, I am using IntelliJ IDEA. What am I doing wrong here?
You have three options:
take advantage of relative path to your current package (where
Test.class
is):you can use absolute path:
or load through the
ClassLoader
(note that it always start from root):In IntelliJ IDEA, make sure you have added
;?*.fxml
to the:Settings
(Preferences
on Mac) |Compiler
| Resource Patterns.Late answer but I just had this same problem. The root cause was an incorrect rootProject.name entry in my settings.gradle. Once I fixed that, cleaned, and rebuilt my resource were able to load using getClass().getResource(). Hopefully that helps somebody.
Possibly it's not being copied to the bin/ directory from the src/ directory? This happens on recompilation, but if you drop it into the src/ directory after the program is already compiled, the IDE won't know.