Я работаю над новым веб-приложением Spring и следую шаблону, который хорошо работал для более ранних веб-приложений.У меня есть класс конфигурации веб-приложения:
@Configuration
@EnableWebMvc
@EnableJpaRepositories
@EnableTransactionManagement
@ComponentScan(basePackages = {"com.example" })
@PropertySource(value = "classpath:application.properties")
public class WebApplicationConfiguration extends WebMvcConfigurerAdapter { ... }
Когда я запускаю веб-приложение (под Tomcat), я получаю следующую ошибку:
[RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.ApplicationContext.log Initializing Spring root WebApplicationContext
[RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class
[org.springframework.web.context.ContextLoaderListener] org.springframework.beans.factory.BeanDefinitionStoreException:
Failed to parse configuration class [com.example.WebApplicationConfiguration];
nested exception is java.lang.IllegalArgumentException:
Attribute 'encoding' not found in attributes for annotation [org.springframework.context.annotation.PropertySource]
at org.springframework.context.annotation.ConfigurationClassParser.parse (ConfigurationClassParser.java:187)
...
Caused by: java.lang.IllegalArgumentException:
Attribute 'encoding' not found in attributes for annotation
[org.springframework.context.annotation.PropertySource]
Мне не нужно указыватьатрибут encoding
в аннотации @PropertySource
в более ранних веб-приложениях, поэтому я не уверен, почему сейчас появляется ошибка.Во всяком случае, я попробовал следующее:
@PropertySource(value = "classpath:application.properties", encoding = "UTF-8")
... и это не имело никакого значения, т.е.Я получил ту же ошибку.Это говорит мне о том, что основной причиной может быть не аннотация @PropertySource
.Любые предложения о том, что я могу делать не так