Scala getClass.getResource()返回null
我有这个代码:
val url: URL = getClass.getResource("com/mysite/main/test.fxml")
它总是返回null
(或Unit
)。 我在项目中只有两个文件:
MyProj/src/com/mysite/main/Test.scala MyProj/src/com/mysite/main/test.fxml
当我运行Test.scala
, url
值始终为null。
我刚试过重建项目,我正在使用IntelliJ IDEA。 我在这做错了什么?
你有三个选择:
-
利用当前包的相对路径(
Test.class
所在的Test.class
):getClass.getResource("test.fxml")
-
你可以使用绝对路径:
getClass.getResource("/com/mysite/main/test.fxml")
-
或者通过
ClassLoader
(注意它总是从root开始):getClass.getClassLoader.getResource("com/mysite/main/test.fxml")
在IntelliJ IDEA中,确保已将;?*.fxml
添加到:
Settings
(Mac上的Preferences
)| Compiler
| 资源模式 。
可能它没有从src /目录复制到bin /目录? 这在重新编译时会发生,但如果在编译完程序后将其放入src /目录中,则IDE将无法知道。
迟到的答案,但我有同样的问题。 根本原因是我的settings.gradle中的rootProject.name条目不正确。 一旦我修复了,清理并重建了我的资源就可以使用getClass()。getResource()加载。 希望这有助于某人。
- 从1.6升级到1.7(基于maven的项目)后,无法在Jetbrains Intellij中使用Java 1.7进行编译
- 在Java调试器中,如何忽略从不通过我的代码的exception
- 如何从WildFly中取消部署所有工件?
- 如何在Applet中显示图像?
- IntelliJ在克隆后无法识别java项目
- 使用play-framework 2.5连接MySQL数据库
- 在应用程序中,我有JDBC驱动程序(exceptionjava.lang.ClassNotFoundException:com.mysql.cj.jdbc.Driver)
- 如何使用lib gdx导入IntelliJ中的通用补间引擎
- 在只读模式下不允许执行Spring Write操作