使用自定义包结构(Maven)的java访问资源文件夹
我把我的一个项目转到了maven。问题是我再也找不到资源了
结构如下所示:
-src
-main
-resources
-java
-com
-test
-client
在资源文件夹中有一个我需要访问的图像和fxml文件
到目前为止,我使用:Client.class.getResource("FileList.fxml")
访问了这些文件。
客户机拥有主要的方法
使用这个命令进行调试Client.class.getResource("").getPath()
我得到以下路径:com/test/client
如何以corerct方式访问资源文件夹
# 1 楼答案
Maven会自动将
src/main/resources
文件夹中的所有文件复制到构建目录中如果一切正常,您应该在构建目录中类路径根目录的参考资料中看到任何内容
例如,如果构建目录为“bin”,则应该看到:
将
Client.class.getResource("FileList.fxml")
呼叫更改为:这将表明资源位于类路径的根,而不是用于定位资源的类的根
您注意到,当您尝试这个:
Client.class.getResource("").getPath()
返回com/test/client
。这是在没有/
的情况下告诉您,“根”是该类所在的目录,而不是类路径根关键是前面的
/
,这不是完全直观的