Java 为什么Intellij IDEA可以';无法识别ResourceBundleMessageSource类的defaultEncoding字段?

Java 为什么Intellij IDEA可以';无法识别ResourceBundleMessageSource类的defaultEncoding字段?,java,spring,intellij-idea,Java,Spring,Intellij Idea,我在SpringMVC文件的xml文件中定义了ResourceBundleMessageSourcebean。其定义如下: <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="messages" /> <property name="defaultEn

我在SpringMVC文件的xml文件中定义了ResourceBundleMessageSourcebean。其定义如下:

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

但是,Intellij将
defaultEncoding
标记为红色并弹出
无法解析属性

根据
ResourceBundleMessageSource
具有继承自
AbstractResourceBasedMessageSource
类的
defaultEncoding
属性。上述代码在另一个SpringMVC项目中运行良好

我的Spring依赖项版本是5.0.4,IDEA版本是2017.2.1

这种奇怪行为的原因是什么?是虫子吗

附录:当我用IDEA反编译
ResourceBundleMessageSource
类时,它表明该类扩展了
AbstractMessageSource
,而不是像文档所说的
AbstractResourceBasedMessageSource


ResourceBundleMessageSource
替换为
ReloadableResourceBundleMessageSource
不会出现错误。

我最终解决了这个问题。我的项目中有一个jersey spring依赖项:

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

com.sun.jersey.contribs
泽西之春
1.19.3
确切地说,这取决于旧版本的Spring-3.0.0.RC1。 我还在pom.xml文件中显式地包含了Spring5.0.4.RELEASE依赖项。这导致了不同版本之间的冲突,Maven正在解决冲突,支持旧版本3.0.0.RC1。我决定删除jersey spring依赖项,现在它可以正常工作了