提问者:小点点

Spring STS-无法解析属性


这个问题与Spring无关,但与STS工具套件或Spring eclipseIDE有关

@Configuration()
@Import({ WebSharedConfig.class, SpringSecurityConfig.class })
@ComponentScan({ "com.finovera.web", "com.finovera.platformServices","com.finovera.authentication" })
@PropertySources(value = { @PropertySource({ "${FINOVERA_PROPERTIES}" }),
@PropertySource(value = { "${STATIC_OVERRIDE_PROPERTIES}", }, ignoreResourceNotFound = true) })
@Scope("singleton")
@EnableTransactionManagement
public class CabinetConfig extends WebMvcConfigurationSupport {
}

我在STS插件中看到以下异常(org. springframe.ide.eclipse.bean.core)

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.finovera.web.config.CabinetConfig]; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'FINOVERA_PROPERTIES' in string value "${FINOVERA_PROPERTIES}"
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:181)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:321)

错误很简单,因为属性名称在应用程序启动时传递给JVM。应用程序运行时代码工作正常,但STS不能。由于主配置扫描失败,许多功能丢失。注释掉属性源注释,一切正常。

如何将属性值传递给STS或说服它忽略属性源注释?


共1个答案

匿名用户

我认为这是当前实现中的一个限制。请针对https://issuetracker.springsource.com/browse/STS提交增强请求,我们可以尝试为STS和SpringIDE的下一个版本修复此问题。