最近看项目的代码,看到工程中有两个jar包张的很像,一个是commons.httpclient-3.1.jar,一个是httpclient4.2.1.jar,很纳闷,而且这两个包里都有HttpClient这个类,但是包名却不一样,然后就查找了一番资料,看下这两个包到底是个什么关系。

在httpclient4.2.1.jar的pom文件中的依赖如下:

可以看得出,这个jar包是依赖了httpcore,commons-logging,commons-codec这三个jar包。而在commons-httpclient.jar包在使用过程中,需要依赖commons-logging.jar和commons-codec.jar,这个httpclient4.2.1.jar就相当于集合了以前的commons-httpclient,commons-logging,commons-codec,这三个jar包,减少了繁琐的导入jar包的过程,现在只需导入一个httpclient.jar就可以使用了。

除此以外,在apache的官网上下载httpclient的jar包时,会发现它是在一个叫HttpComponent的项目下,这个HttpComponent是apache的顶级项目。而以前的commons的那三个包都是commons的项目下。在HttpComponent的网页上,看到了这样的文字: HttpComponents Client is a successor of and replacement for Commons HttpClient 3.x. Users of Commons HttpClient are strongly encouraged to upgrade.

也就是说commons下的commons-httpclient不在更新和维护了,用commons-httpclient的用户也建议更新到httpclient这个包。

commons.httpclient-3.X.jar 和 httpclient-4.x.jar是个什么关系?的更多相关文章

  1. AXIS2整合spring需要的jar,以及大部分缺少jar所报的异常

    axis2 webservice 服务端jar包: -->axis2-kernel-1.6.1.jar                              -->axis2-spri ...

  2. Unable to load configuration. - bean - jar: ....struts2-core-2.1.8.1.jar!/struts-default.xml:47:178

    摘录的异常代码: 2013-12-14 22:42:07 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error严重: Dis ...

  3. 【转】commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar实现文件上传

    总共:一个upload.jsp,一个FileUploadServlet.java,两个文件:ImagesUploaded,ImagesUploadTemp, 一个web.xml,两个架包:common ...

  4. spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。

    Spring jar包的描述:针对3.2.2以上版本 org.springframework spring-aop ——Spring的面向切面编程,提供AOP(面向切面编程)实现 org.spring ...

  5. 多个jar包合并成一个jar包的办法

    步骤: 1.将多个JAR包使用压缩软件打开,并将全包名的类拷贝到一个临时目录地下. 2.cmd命令到该临时目录下,此时会有很多.class文件,其中需要带完整包路径 3.执行 jar -cvfM te ...

  6. 运行jar应用程序引用其他jar包的四种方法

    转载地址:http://www.iteye.com/topic/332580 大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个ja ...

  7. Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中

    前言: 关于.jar文件: 平时我们Android项目开发中经常会用到第三方的.jar文件. 其实.jar文件就是一个类似.zip文件的压缩包,里面包含了一些源代码,注意的是.jar不包含资源文件(r ...

  8. 使用XStream解析MXL文件用到的jar包---xpp3_min-1.1.3.4.O.jar和xstream-1.3.1.jar

    使用XStream解析MXL文件用到的jar包---xpp3_min-1.1.3.4.O.jar和xstream-1.3.1.jar

  9. java打jar包,引用其他.jar文件

    大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口. 具体的方法是修改jar包内目录META-INF下的MANIF ...

  10. java -jar 执行 eclipse export 的 jar 包报错处理

    1. 错误1:打 jar 包执行,报错,找不到 类库的 jar 包 F:\>java -jar remoteLogin.jarException in thread "AWT-Even ...

随机推荐

  1. psycopg2 (python与postgresql)

    #快速导入数据到postgresql import pandas as pd import psycopg2 from io import StringIO def sql_to_df(): con= ...

  2. Excel根据人名匹配得到编号

    操作步骤:输入公式 =IF(COUNTIF($E$2:$E2,$E2)>COUNTIF($B:$B,$E2),"",INDEX(C:C,SMALL(IF($B$1:$B$10 ...

  3. AngularJS中的DOM value与view value

    在看AngularJS的文档的时候经常会见到三个名词:DOM value.view value和model value. model value是模型值,view value是视图值,可这个DOM v ...

  4. TP使用易错知识点

    1.  redirect(U('Index/index'));     //redirect函数跳转要使用U方法,不适用U方法会跳转地址出错. 2.  $this->success('新增成功' ...

  5. 理解 js的 async/await

    async 和await 在干什么? async  用于声明一个function是异步的 await用于等待一个异步方法执行完成(其实我理解的是等待的是一个表达式,就是一个结果), 其中  await ...

  6. 玩转TypeScript(2) --简单TypeScript类型

    通过TypeScript的Module和Class,TypeScript提供了相对于javaScript更加清晰的代码构造,相较于javaScript的.js满天飞的代码,用TypeScript,你可 ...

  7. opencv-python教程学习系列1-安装库

    前言 以后的项目可能会用到python和opencv进行实现,故准备opencv-python教程学习系列记录学习过程的点滴,这是这一系列的开篇,坚持学习,共同进步. 系列教程参照OpenCV-Pyt ...

  8. 广播中receiver配置需要注意data的配置

    1.sd卡的转载和卸载 这个需要配置好android:scheme=“file” 要不然是检测不到的 2.在安装应用或者卸载应用都要有一个约束,要不然是不会执行的.而这个约束条件为package. 但 ...

  9. [LeetCode&Python] Problem 461. Hamming Distance

    The Hamming distance between two integers is the number of positions at which the corresponding bits ...

  10. Java8函数式编程学习笔记(初探)

    编程语言的整个目的就在于操作值,要是按照历史上编程语言的传统,这些值被成为一等值,而编程语言中的其他结构也许有助于表示值的结构,但在程序执行期间不能传递,因此为二等值,比如方法和类等则是二等值,类可以 ...