jar 中的类路径资源

2023-12-08

我有一个项目A,其中包含一些java文件和一个类路径资源R.txt。在项目中我使用 ClassLoader.getSystemResource("R.txt");检索 R.txt。

然后我有一个项目 B,其中包含项目 A 的 jar 文件。现在 getSystemResource("R.txt") 将找不到文本文件(是的,它仍然位于 jar 文件的根目录中)。即使按照其他网站上的建议尝试“/R.txt”也不起作用。有任何想法吗?


Use getResource代替getSystemResource使用特定于给定类加载器而不是系统的资源。例如,尝试以下任一操作:

URL resource = getClass().getClassLoader().getResource("R.txt");
URL resource = Foo.class.getClassLoader().getResource("R.txt");
URL resource = getClass().getResource("/R.txt");
URL resource = Foo.class.getResource("/R.txt");

调用时请注意前导斜杠Class.getResource代替ClassLoader.getResource; Class.getResource是相对于包含该类的包,除非有一个前导斜杠,而ClassLoader.getResource总是绝对的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jar 中的类路径资源 的相关文章

随机推荐