5

是否可以将相对目录(即 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始终为空。

我无法让它工作,并且不确定这是否只是不受支持,我错过了一些微妙的东西,或者我做错了什么。我需要使用绝对路径吗?

4

1 回答 1

6

也许我误解了你想要做什么,但如果你的类路径中有一个文件夹,这意味着它下面的所有文件也应该在类路径中。如果没有,您始终可以在类路径上传递每个 .properties 文件。

但无论哪种方式,由于包含该文件的文件/文件夹位于类路径中,您应该能够做到:

InputStream in = new FileInputStream("classpath:xyz.properties")

并且由于“foo/bar/plugh”在类路径中,它会查找 xyz.properties 的位置之一是“foo/bar/plugh”。

于 2009-05-09T02:39:21.917 回答