我有以下文件结构:
+-src
+-- code
+-resources
+-- img
+- logo.png
+-- defaultConfig
+- config.xml
当我在 Eclipse 中运行代码时,它工作了,因为导出到可运行的 jar,它没有找到defaultConfig
文件
我正在以这种方式访问徽标并且它有效
URL url = getClass().getResource("/img/logo.png");
setIconImage(new ImageIcon(url).getImage());
访问config.xml
不适用于不同的设置。
这是给的:
File config = new File("resources/defaultConfig/config.xml");
经过大量搜索后,我尝试了这个:
//example
String path = "resources\\defaultConfig\\config.xml");
File config = new File(createURIFromString(path));
我试过有./
和.\
没有.
private URI createURIFromString(String path) {
URI id = null;
try {
id = getClass().getResource(path).toURI();
} catch (Exception e) {
e.printStackTrace();
}
return id;
}
结果是一个null
指针。
我试过了
- 将文件夹添加到资源目录
- 将文件夹添加到根目录(与 src 相同的层)
- 将 Config 文件夹添加到资源目录
解决方案:
以前文件不在 jar 中,所以在使用该getResorce
方法之前,它可以工作。