如何在“资源”之外访问文件,但仍在WAR中?

时间:2017-07-27 15:03:00

标签: java-ee war

我正在向我的应用程序WAR添加静态XSD文件,但无法将其添加到“资源”中。我可以忍受,但我似乎无法使用FileSystemResource访问该文件。 该文件位于WAR下,作为&tools; schema / model.xsd'。我一直在尝试下面的变化,但它不起作用。

    new FileSystemResource("/tools/schema/model.xsd");
    new FileSystemResource("tools/schema/model.xsd");

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我很困惑,你不需要在战争中拥有资源目录。如果使用maven war-plugin,src / resources目录中的所有内容都将放入/ WEB-INF / classes中,并且可以通过在WAR中包含的任意类调用的.getResource()访问。

如果你想要额外的资源,那么你可以使用maven-resource-plugin将它首先复制到类中,以便war-plugin将它正确地放入你的WAR中。 说MyClass是你WAR中的Java类

 MyClass.getResource("'tools/schema/model.xsd")

应返回URL或getResourceAsStream返回可直接读取的InputStream。