2009-06-25 11 views
0

私が取り組んでいるSpringベースのプロジェクトのために独自のカスタム名前空間を書きました。プロジェクトはmavenでビルドされています.xsdファイルをresourcesディレクトリに置いておきたいと思います。問題はspring.schemasディレクトリに私のxsdファイルの場所を定義する必要があることです。私の開発環境では、resources/schemas/myschema.xsdになります。しかし、コンパイルすると、リソースの内容はターゲットディレクトリ自体ではなく、ターゲットにコピーされます。だから、コンパイルされたコードでは、私は最終的にtarget/schemas/myschema.xsdを使います。私のspring.schemasファイルはresources/schemas/myschema.xsdを参照するべきですか?または単にスキーマ/ xsd?Mavenを使ったSpringのカスタムネームスペース

おかげで、

ジェフ

答えて

1

spring.schemas春のカスタム名前空間を作成する場合このようなエントリでMETA-INFに配置する必要がありますファイル:

http://www.springframework.org/schema /context/spring-context-2.5.xsd=org/springframework/context/config/spring-context-2.5.xsd

カスタムスキーマがSRCに続いする必要があります/メイン/リソース/ ORG/springframework/context/config/〜プロジェクトのクラスパスに追加する必要があります。

良いIDEはsrc/main/resources/をソースコードフォルダとして理解し、スキーマを正しく読みます。

注:私はちょうどそれが唯一のスキーマを指している必要があり、自分で

+0

例をお願い致します。私はそれがすべて働いている、私はIDEの問題があると思う - 私は上記のコメントを見てみることができますか?ありがとう。 –

+0

あなたのプロジェクトを「クリーンアップ」しようとしましたか?どのMavenプラグインを使用しますか? –

+0

Eclipseにエントリを追加したので、XSDファイルを解決する方法を知っていたので、すべて正常に動作します。 –

0

あなたはEclipseでリンクされた場所を定義することができます。変数を使用してワークスペースのルートを定義し、リンクされたフォルダを作成することで、移植性の尺度を維持できます。

は、プロジェクトを右クリックし新しい選択 - >フォルダ

コールフォルダ "スキーマ" を、>>を[詳細設定]をクリックし、ファイルシステム内のフォルダにリンクを選択

変数

を ... 変数を選択し、WORKSPACE_ROOTを選びます

スキーマフォルダに相対パスを追加します(例:

終了すると、リンクされていることを示す角の小さな矢印が付いた新しいスキーマフォルダが作成されます。新しいファイルをリンク先の場所に反映させるためにリフレッシュを強制する必要があるかもしれません。

1

それを調べる/

ターゲット/リソースがあなたになってしまいますmyschema.xsd、春-core.jarからこの例を引っ張っクラスパスを使用すると、安全にすべてのものを参照できます。

+0

ありがとう、それは私がやったことですが、私のbean定義xmlファイル、eclipseはすべてがうまく動作していても、(間違いの説明無しに)右の溝に赤いエラーマークを表示します。オートコンプリートは私のカスタム名前空間でも機能するので、明らかにスキーマを見つけることになります。なぜこのようなことが起きるのでしょうか? –

関連する問題