0

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

作为其中一种方法返回对象的 xml 表示,我决定使用它JAXB来将我的类映射到 xml 文件。

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

因为我们使用maven的是 bulding,所以我将JAXB插件添加到我的pom.xml. 我可以看到架构文件是在构建阶段生成的,但现在我在运行时读取这些文件时遇到了问题。

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

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

我的架构文件正在部署到

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

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

另外我想指出,我Tomcat从 Eclipse 级别的服务器视图进行部署,也许这也很重要。

4

1 回答 1

0

看到这个问题:

Spring 3.0 将文件作为资源注入

还有这个:

将文件资源注入 Spring bean

它描述了如何注入一个Resource.

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

于 2013-03-25T15:13:26.157 回答