spring - 属性源路径上的 Spring ${catalina.home} 给出错误
问题描述
我试图在春季的属性源路径上引用 ${catalina.home} 环境变量,如下所示
Configuration
@PropertySources(value={
@PropertySource(value="file:${catalina.home}/sakai/local.properties"),
@PropertySource(value="file:${catalina.home}/sakai/sakai.properties")
})
public class SpringCryptoContext {
@Value("${aes.encryption.cipherString}")
private String cyperString;
@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigDev() {
PropertySourcesPlaceholderConfigurer placeholderConfigurer = new PropertySourcesPlaceholderConfigurer()
return placeholderConfigurer;
}
}
但它给出了以下错误堆栈跟踪
原因:java.lang.IllegalArgumentException:无法在 org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper. java:174) 在 org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:204) 在 org.springframework.core.env.AbstractPropertyResolver 的 org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) org.springframework.context.annotation.ConfigurationClassParser 中 org.springframework.core.env.AbstractEnvironment.resolveRequiredPlaceholders(AbstractEnvironment.java:571) 中的 .resolveRequiredPlaceholders(AbstractPropertyResolver.java:178)。processPropertySource(ConfigurationClassParser.java:359) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:255) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:232) at org.springframework .context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:191) 在 org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:272) 在 org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java :232) 在 org.springframework 的 org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199)。context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:168) ... 还有 8 个
解决方案
推荐阅读
- android - Android:SaveState、Fragments 和 ViewModel:我做错了什么?
- xtermjs - 检查终端是否空闲
- amazon-web-services - 如何在 CloudWatch 计划 + SQS 上触发 AWS Lambda
- javascript - 如何为页面上的所有标题添加属性?
- php - laravel :从数据库中删除记录后,新记录在已删除记录的位置
- php - php check whether the user has uploaded a profile pic or not
- python - 在 python 中显示和隐藏图片的最佳方法是什么?
- ios - 具有数字和可比较协议的 Swift 泛型类
- java - 没有无参数构造函数的超类
- javascript - 根据条件调用另一个组件中的函数,无论选项卡是否处于活动状态