是否可以将相对目录(即foo/bar/plugh)添加到java类路径并使用
InputStream in = getClassLoader().getResourceAsStream("xyzzy.properties");
获取 foo/bar/plugh/xyzzy.properties?
我的类路径是这样的:
foo.jar;foo/bar/plugh;xyz.jar
而且我可以使用 foo 和 xyz jar 中的类和资源,但不能使用 plugh 目录中的类和资源。在这些情况下,in
始终为 null。
我无法让它工作,我不确定这是否不受支持,我遗漏了一些微妙的东西或者我做错了什么。我需要使用绝对路径吗?
最佳答案
也许我误解了你想做什么,但如果你的类路径中有一个文件夹,这意味着它下面的所有文件也应该在类路径中。如果没有,您始终可以在类路径上传递每个 .properties 文件。
但无论哪种方式,因为包含文件的文件/文件夹在类路径中,你应该能够做到:
InputStream in = new FileInputStream("classpath:xyz.properties")
因为“foo/bar/plugh”在类路径中,所以它将查找 xyz.properties 的地方之一是“foo/bar/plugh”。
关于java - 将相对目录添加到 java 类路径并使用 ClassLoader().getResourceAsStream (""),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/842538/