Java 为什么Intellij IDEA可以';无法识别ResourceBundleMessageSource类的defaultEncoding字段?
我在SpringMVC文件的xml文件中定义了ResourceBundleMessageSourcebean。其定义如下: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
<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依赖项,现在它可以正常工作了