2013-03-25 2 views
0

Я использую Spring MVC для разработки простого интерфейса REST для одной службы.Java web applcation - доступ к военным файлам из кода

Как один из методов возвращает 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 Framework предоставляют какой-либо альтернативный способ чтения некоторые статические файлы при запуске, так что я могу получить доступ к ним каким-то образом из моего кода?

Также хочу отметить, что я размещаю до Tomcat с уровня сервера на уровне eclipse, возможно, это также важно.

ответ

0

Смотрите этот вопрос:

Spring 3.0 inject files as resources

, а также этот:

Inject a file resource into Spring bean

, который описывает, как придать Resource.

Если это не работает, откройте представление Navigator для Eclpse и убедитесь, что файлы XSD находятся в каталоге классов. Если нет, вам может понадобиться сделать сборку clean.

Смежные вопросы