0

Spring MVC を使用して、1 つのサービス用の単純な REST インターフェイスを開発しています。

メソッドの 1 つがオブジェクトの xml 表現を返すJAXBので、クラスを xml ファイルにマップするために使用することにしました。

クラスに注釈を付けましたが、検証を行うにはスキーマをマーシャラー オブジェクトに渡す必要があることがわかりました。

建物に使用しているため、プラグインをmavenに追加しました。ビルド フェーズ中にスキーマ ファイルが生成されていることがわかりますが、実行時にそれらを読み取る際に問題が発生しています。JAXBpom.xml

アプリケーションにコントローラーを 1 つだけ持つことを計画しているため、コントローラーが Spring Framework によって作成されているときにスキーマ ファイルをロードしたいと考えていました。

使ってみcontext.getResourceAsStream("schema.xsd");ましたが、運が悪かったので、null戻り値を取得しています。

スキーマ ファイルの展開先

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

Spring フレームワークは、起動時にいくつかの静的ファイルを読み取る別の方法を提供するので、コードから何らかの方法でそれらにアクセスできますか?

また、Eclipse レベルのサーバー ビューからデプロイしていることにも注意してくださいTomcat。これも重要かもしれません。

4

1 に答える 1

0

この質問を参照してください:

Spring 3.0はファイルをリソースとして注入します

そしてこれも:

ファイル リソースを Spring Bean に注入する

を注入する方法を説明しますResource

それでもうまくいかない場合は、Eclpse の Navigator ビューを開き、XSD ファイルが実際に classes ディレクトリにあることを確認してください。そうでない場合は、cleanビルドを行う必要があります。

于 2013-03-25T15:13:26.157 に答える