【问题描述】
创建了4.5.2 版本的httpClient jar包,无法使用BasicNameValuePair这个类,报错没有这个类。也无法导入BasicNameValuePair所在的包。
【解决方法】
在pom.xml 中配置的依赖脚本有问题,groupid 结尾多了一个boot,去除后保存pom.xml 就可以了
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents.boot </groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
</dependencies>
【原因分析】
1 对照视频手打,从其他地方拷贝该格式没有将内容删除干净,写完后也没有检查,注意力集中在依赖中是否下载出了jar 包。
【解决过程】解决该问题花了3h
1通过关键字BasicNameValuePair httpClient,报错信息等进行搜索,没有查找到解决方法。并在相关文章下留言该问题
2 在讨论群里留言,没有回复
3 通过搜索查找httpClient相关视频,关注BasicNameValuePair调用时是否有特殊姿势。
4 怀疑eclipse版本有问题
5 搜索其他httpClient 接口的自动化用例,看到有依赖关系的脚本,最后再对照一次,发现问题了。
【总结】
1 明明只需要花最多2分钟能解决的问题,硬是花了3小时,简直对自己的愚昧有了新的认知。
2 在手打不知道的东西时,多检查对比,问问自己有没有错,有没有多,有没有少。
3 在搜索不到相关错误时,多怀疑下这是个性问题,自己的设置,代码的编写是否有问题。20分钟都没有解决,是时候把思路梳理一下写下来,一个个尝试。
4 如果我了解依赖关系脚本的意义也许就能很快看出问题出在了哪里。
【附加】
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
</dependencies>
groupId : 组织标识,例如:org.apache.httpcomponents,将是: org/apache/httpcomponents目录
artifactId : 项目名称,例如:httpclient,在M2_REPO目录下,将是:org/apache/httpcomponents/httpclient目录。
version : 版本号,例如:4.5.2,在目录下,将是:org/apache/httpcomponents/httpclient/4.5.2目录。
packaging : 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par
网友评论