Intellij IDEAがResourceBundleMessageSourceクラスのdefaultEncodingフィールドを認識できないのはなぜですか?

saidfagan:

Spring MVCファイルのxmlファイルにResourceBundleMessageSource Beanが定義されています。次のように定義されます。

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
  <property name="basename" value="messages" />
  <property name="defaultEncoding" value="UTF-8" />
</bean>

ただし、IntellijはdefaultEncoding赤にマークしてポップアップしCan not resolve propertyます。

このドキュメントによるとResourceBundleMessageSourcehas defaultEncodingプロパティはAbstractResourceBasedMessageSourceクラスから継承されます。上記のコードは、別のSpring MVCプロジェクトで正常に機能します。

私のSpring依存バージョンは5.0.4で、IDEAバージョンは2017.2.1です。

そのような奇妙な行動の理由は何ですか?バグですか?

付録:ResourceBundleMessageSourceIDEAを使用してクラスを逆コンパイルするとAbstractMessageSourceAbstractResourceBasedMessageSourceドキュメントが言うようにこのクラスが拡張することが示されます。

と置き換えResourceBundleMessageSourceReloadableResourceBundleMessageSourceもエラーは発生しません。

saidfagan:

ようやく問題を解決しました。私のプロジェクトにはジャージースプリングの依存関係がありました。

<dependency>
  <groupId>com.sun.jersey.contribs</groupId>
  <artifactId>jersey-spring</artifactId>
  <version>1.19.3</version>
</dependency>

正確には、以前のバージョンのSpring-3.0.0.RC1に依存していました。また、Spring 5.0.4.RELEASEの依存関係をpom.xmlファイルに明示的に含めていました。これは異なるバージョン間の競合を引き起こしており、Mavenは古いバージョン3.0.0.RC1を優先して競合を解決していました。私はjersey-spring依存関係を削除することに決めました、そして今それはうまく働きます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ