3

次のトランザクション マネージャーを定義しました。

    <tx:annotation-driven transaction-manager="txManager" mode="aspectj" />

次のルート要素があります。

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:tx="http://www.springframework.org/schema/tx"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
      http://www.springframework.org/schema/tx
      http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

すべて正常に動作しますが、IntelliJ はmode="aspectj"に許可されていないというエラー マーカーを表示し ます 。xsd の取得元をたどり、tx 2.0 xsd にリンクしています。これは、モード アノテーションを使用するには 2.5 が必要であるため、エラー メッセージを説明しています。

IntelliJに、2.0ではなく2.5に向かって検証する必要があるというヒントをどうにかして与えることは可能ですか?

4

2 に答える 2

8

schemaLocation次のスクリーン ショットに従って、xsd を指すjar ファイルを開くと、次のようになります。

ここに画像の説明を入力

次に、IntelliJ にさまざまなバージョンの Spring 用の一連の xsd ファイルがあることがわかります。

ここに画像の説明を入力

これは、必要なスキーマがすべて揃っていることを意味します。

Bean 定義ファイルに問題がある場合schemaLocationは、Spring jar ファイルで間違ったバージョンを指す必要があります。

ここに画像の説明を入力

をチェックしSettings | Schemas and DTDsて、間違った xsd ファイルを指すように誤って手動で設定していないことを確認します。

ここに画像の説明を入力 ここに画像の説明を入力

間違っている場合は、マイナス記号を使用してその行を削除する必要があります。これにより、IntelliJ がデフォルト値に戻ります。

ここに画像の説明を入力

その後、最初のスクリーン ショットと同じものが表示されるはずです。

于 2013-06-04T13:11:58.853 に答える