Java Web应用程序 - 从代码访问war文件

时间:2013-03-25 14:55:44

标签: spring-mvc

我正在使用Spring MVC为一个服务开发简单的REST接口。

当其中一个方法返回对象的xml表示时,我决定使用JAXB将我的类映射到xml文件。

我注释了我的类,但我发现为了进行任何验证,我需要将模式传递给我的marshaller对象。

由于我们正在使用maven进行构建,因此我向JAXB添加了pom.xml插件。我可以看到架构文件是在构建阶段生成的,但现在我在运行时读取它们时遇到了问题。

因为我计划在我的应用程序中只有一个控制器,所以我想在Spring Framework创建控制器时加载模式文件。

我尝试使用context.getResourceAsStream("schema.xsd");,但没有运气,我获得null返回值。

我的架构文件正在部署到

<outputDirectory>${project.build.directory}/Open311/WEB-INF/classes</outputDirectory>

Spring框架是否提供了在启动时读取某些静态文件的任何替代方法,以便我可以从我的代码以某种方式访问​​它们?

另外我想要注意的是,我从eclipse级服务器视图部署到Tomcat,也许这也很重要。

1 个答案:

答案 0 :(得分:0)

看到这个问题:

Spring 3.0 inject files as resources

还有这一个:

Inject a file resource into Spring bean

描述了如何注入Resource

如果不起作用,请打开Eclpse的Navigator视图,并确保XSD文件实际位于classes目录中。如果没有,您可能需要进行clean构建。