gpt4 book ai didi

java - 为什么 Intellij IDEA 无法识别 ResourceBundleMessageSource 类的 defaultEncoding 字段?

转载 作者:行者123 更新时间:2023-11-30 10:18:48 24 4
gpt4 key购买 nike

我在 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

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

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

这种奇怪行为的原因是什么?是错误吗?

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

ReloadableResourceBundleMessageSource 替换 ResourceBundleMessageSource 没有错误。

最佳答案

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

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

这依赖于旧版本的 Spring - 确切地说是 3.0.0.RC1。此外,我在 pom.xml 文件中明确包含了 Spring 5.0.4.RELEASE 依赖项。这导致了不同版本之间的冲突,Maven 正在解决有利于旧版本 3.0.0.RC1 的冲突。我决定删除 jersey-spring 依赖项,现在它工作正常。

关于java - 为什么 Intellij IDEA 无法识别 ResourceBundleMessageSource 类的 defaultEncoding 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49048555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com