从类路径访问资源文件

时间:2012-12-09 12:20:33

标签: java web-services classpath

我正在尝试从类路径访问我的资源文件。我已将所有资源存储在名为“config”的文件夹中,该文件夹已添加到我的构建路径中。 现在的问题是,我无法访问它们。我尝试了以下选项,但似乎没有一个可行。一切都返回null。

String resourceName = "/config/LPANewCommonModelSchema.xsd";
System.out.println(getClass().getClassLoader().getResource(resourceName));
System.out.println(getClass().getResource(resourceName));
System.out.println(Thread.currentThread().getContextClassLoader().getResource(resourceName));

String resourceName = "config/LPANewCommonModelSchema.xsd";
System.out.println(getClass().getClassLoader().getResource(resourceName));
System.out.println(getClass().getResource(resourceName));
System.out.println(Thread.currentThread().getContextClassLoader().getResource(resourceName));

String resourceName = "/LPANewCommonModelSchema.xsd";
System.out.println(getClass().getClassLoader().getResource(resourceName));
System.out.println(getClass().getResource(resourceName));
System.out.println(Thread.currentThread().getContextClassLoader().getResource(resourceName));

String resourceName = "LPANewCommonModelSchema.xsd";
System.out.println(getClass().getClassLoader().getResource(resourceName));
System.out.println(getClass().getResource(resourceName));
System.out.println(Thread.currentThread().getContextClassLoader().getResource(resourceName));

编辑: 有人问层次结构, enter image description here

提前致谢, 戒日

1 个答案:

答案 0 :(得分:1)

试试这个(假设当前的calss在资源文件夹旁边)

InputStream in = this.getClass().getClassLoader()
                                .getResourceAsStream("config/LPANewCommonModelSchema.xsd");

或者

InputStream in = this.getClass().getResourceAsStream("/config/LPANewCommonModelSchema.xsd");