是否可以将相对目录(即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
始终为空。
我无法让这个工作,我不确定这是否只是不支持,我错过了一些微妙的或我做错了什么。我需要使用绝对路径吗?
答案 0 :(得分:6)
也许我误解了你要做的事情,但是如果你的类路径中有一个文件夹,这意味着它下面的所有文件也应该在类路径中。如果没有,您始终可以在类路径上传递每个.properties文件。
但不管怎样,由于包含该文件的文件/文件夹位于类路径中,您应该可以这样做:
InputStream in = new FileInputStream("classpath:xyz.properties")
由于“foo / bar / plugh”位于类路径中,因此xyz.properties所在的位置之一位于“foo / bar / plugh”。