1. 问题描述
在启动Junit跑单测加载资源配置文件的时候遇到以下异常信息:
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'activity_template_id' in string value "${activity_template_id}" at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:173) at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:125) at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer$PlaceholderResolvingStringValueResolver.resolveStringValue(PropertyPlaceholderConfigurer.java:258) at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveStringValue(BeanDefinitionVisitor.java:282) at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:204) at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitPropertyValues(BeanDefinitionVisitor.java:141) at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitBeanDefinition(BeanDefinitionVisitor.java:82) at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:206) ... 29 more
2. 问题分析
在读取配置问题信息的时候使用了入下方法:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" depends-on="genernatePropertyFile"> <property name="location"> <value>file:D:/idev/antx.properties</value> </property> </bean>
那么出现异常信息的可能性有三种
(1)location中的属性文件配置错误
(2)location中定义的配置文件里面没有对应的placeholder值
(3)第三种就比较麻烦点,可能是Spring容器的配置问题
Spring容器采用反射扫描的发现机制,在探测到Spring容器中有一个org.springframework.beans.factory.config.PropertyPlaceholderConfigurer的Bean就会停止对剩余PropertyPlaceholderConfigurer的扫描(Spring 3.1已经使用PropertySourcesPlaceholderConfigurer替代PropertyPlaceholderConfigurer了)。
而<context:property-placeholder/>这个基于命名空间的配置,其实内部就是创建一个PropertyPlaceholderConfigurer Bean而已。换句话说,即Spring容器仅允许最多定义一个PropertyPlaceholderConfigurer(或<context:property-placeholder/>),其余的会被Spring忽略掉(其实Spring如果提供一个警告就好了)。
3.解决方案
(1)
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" depends-on="genernatePropertyFile"> <property name="location"> <value>file:D:/idev/antx.properties</value> </property> <property name="ignoreUnresolvablePlaceholders" value="true </bean>
(2)
<context:property-placeholder location="classpath*:redis.properties" ignore-unresolvable="true" />
相关推荐
按官方配置好了 developer.... Could not resolve com.huawei.agconnect 解决方法:把相应的插件用本地化安装 agconnect-crash-symbol-lib-1.6.1.300.jar agconnect-apms-plugin-1.6.1.300.jar agcp-1.6.1.300.jar。
hive 开发UDF 使用maven工程 引发jar包缺失 hive 开发UDF 使用maven工程 引发jar包缺失
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method qt....
myeclipse创建maven工程报错 Could not resolve
在升级Android Studio到特定版本,如3.6.1时,可能会遇到一些问题,其中一个常见的问题是“Could not resolve all artifacts for configuration ‘:classpath’”。这个错误表明Gradle无法解析所有配置的依赖项,这...
Android Studio更新3.6.3之后出现Could not resolve all artifacts for configuration ‘:classpath’.问题你是否和我一样,只因在人群中多看了他一眼?![在这里插入图片描述]...
在阿里巴巴内部,有很多自研工具供开发者使用,其中有一款工具,是几乎每个Java开发都使用过的工具,那就是Arthas,这是一款Java诊断工具,是一款牛逼带闪电的工具。该工具已于2018年9月份开源。...
Could not find module 'D:\codna\Library\bin\geos_c.dll'Could not find module 'D:\codna\Library\bin\geos_c.dll'Could not find module 'D:\codna\Library\bin\geos_c.dll'
赠送jar包:error_prone_annotations-2.5.1.jar; 赠送原API文档:error_prone_annotations-2.5.1-javadoc.jar; 赠送源代码:error_prone_annotations-2.5.1-sources.jar; 赠送Maven依赖信息文件:error_prone_...
在使用Maven构建Java项目时,可能会遇到这样一个错误:“Failed to execute goal on project …: Could not resolve dependencies for project …”。这个错误通常表明Maven在构建过程中遇到了依赖解析问题,无法...
在IT领域,DNS(Domain Name System)解析是网络服务的核心...通过分析“dns_resolve.c”和“dns_resolve.h”这两个文件,我们可以深入学习如何在实际应用中实现这些功能,这对于提升IT专业人员的技能是非常有价值的。
$_SERVER,$_HTTP,__FILE__
标题中的“dns_resolve.rar_dns”暗示了我们讨论的主题聚焦在DNS(Domain Name System)解析上,这是一项核心的互联网服务,用于将人类可读的域名转换为计算机可识别的IP地址。描述中提到的“linux fs nfs dns ...
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> ${redis.port}"/> ${sentinel.master} ``` 2. 创建`...
1.vue项目中config文件下index.... assetsRoot: path.resolve(__dirname, '../yiTownWebApp'), assetsSubDirectory: 'static', assetsPublicPath: '/yiTownWebApp/',//这个地方使用绝对路径很重要 /** * Source Map
新建maven项目时报Could not resolve archetype org.apache.maven.archetypes
Error:Could not resolve all files for configuration ‘:app:debugCompileClasspath’. > Could not resolve com.android.support:appcompat-v7:26.0.0-beta1. Required by: project :app > Could not ...
主要介绍了解决Unable to access 'https://gitee.com/自己的项目/': Could not resolve host: gitee.com问题,需要的朋友可以参考下
赠送jar包:error_prone_annotations-2.2.0.jar; 赠送原API文档:error_prone_annotations-2.2.0-javadoc.jar; 赠送源代码:error_prone_annotations-2.2.0-sources.jar; 赠送Maven依赖信息文件:error_prone_...