Spring STS - 无法解析属性
Spring STS - unable to resolve properties
此问题与 spring 无关,但与 STS 工具套件或 spring eclipse IDE 有关。鉴于 class
的以下声明
@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.springframework.ide.eclipse.beans.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 或说服它忽略 PropertySources 注释?
我认为这是当前实施中的一个限制。请针对 https://issuetracker.springsource.com/browse/STS 提交增强请求,我们可以尝试在下一版本的 STS 和 Spring IDE.
中修复此问题
此问题与 spring 无关,但与 STS 工具套件或 spring eclipse IDE 有关。鉴于 class
的以下声明@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.springframework.ide.eclipse.beans.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 或说服它忽略 PropertySources 注释?
我认为这是当前实施中的一个限制。请针对 https://issuetracker.springsource.com/browse/STS 提交增强请求,我们可以尝试在下一版本的 STS 和 Spring IDE.
中修复此问题