今天出了一个Bug,显示是路径错误:

solr学习(八)Illegal character in path at index 1: ${solr.url_OnlineLearn}/update?wt=xml&version=2.2

这个就很奇怪了,刚开始发现这个问题是一头雾水,因为其他索引库都是可以正常使用的,就是这个索引库无法正常使用,慢慢来分析看下,首先debug到出错的那一行代码:

首先是发生add操作:

solr学习(八)Illegal character in path at index 1: ${solr.url_OnlineLearn}/update?wt=xml&version=2.2

solr学习(八)Illegal character in path at index 1: ${solr.url_OnlineLearn}/update?wt=xml&version=2.2

出问题的地方:

问题就来了,创建HttpPost的路径怎么是${}这玩意:

solr学习(八)Illegal character in path at index 1: ${solr.url_OnlineLearn}/update?wt=xml&version=2.2

我在config文件里面是这么配置的:

solr学习(八)Illegal character in path at index 1: ${solr.url_OnlineLearn}/update?wt=xml&version=2.2

在xml文件是这个:

solr学习(八)Illegal character in path at index 1: ${solr.url_OnlineLearn}/update?wt=xml&version=2.2

的确是大小写的o的原因,但是怎么没报错呢,如果Spring没有找到的话应该会报错啊,后来再仔细一看,原来我这个地方是构造器注入!!

solr学习(八)Illegal character in path at index 1: ${solr.url_OnlineLearn}/update?wt=xml&version=2.2

<constructor>是构造器注入,<property>是set方法注入!

相关文章: