从github上面的源代码到可用httpclient.jar httpcore.jar httpmime.jar的打包编译过程

1.首先在github找到源代码地址(可以在github搜索框中输入关键字搜索)
httpclient地址:https://github.com/apache/httpclient/这里面包含了:httpclient和httpmime的源代码
httpcore地址:https://github.com/apache/httpcore
 
2.然后下载源文件
命令为
cd httpclient
git checkout 4.4.x
cd ../
cd httpcore
git checkout 4.4.x
 
3.现在可以向eclipse中导入源代码进行编译打包了:
     首先我费了很大力气才知道,打包java的库文件的过程是:Export->java->JAR file->Finish,有了这样的知识准备,似乎可以开始打包了
    1,新建一个空的工程
    2,项工程中导入源代码:在新建的工程src上面右键Import->General->File System->选择路径->Finish
    对于httpcore,打包似乎一切正常,打包后得到httpcore.jar文件
    现在打包httpclient,导入过程和上面描素过程一致,但是发现好多文件都由红XX,打开看了一下,发现事好多文件都import了httpcore中的类,
    于是我将刚刚打包好的httpcore.jar导入工程的库目录,发现绝大多数文件的红XX消失了,哎~ 松了一口气,继续看余下的问题
    打开带红X的文件发现有一句:
        import org.apache.http.protocol.ExecutionContext;
   这个是个什么鬼?
   经过近乎崩溃的查找最后在httpcore的4.0.x分支项目的org.apache.http.protocol下面找到了ExecutionContext.java文件,现在怎么办,只好将这个文件添加进httpcore的
    4.4.x版本然后再次编译打包,类似的问题还有import org.apache.http.params.HttpProtocolParams;同样处理
  到这里红XX还有一些,他们的共同的特点是有这样的语句:
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
   这又是什么鬼?
   通过艰难的查找,发现这是apache很多开源项目中都有的包里面的东东:commons-codec-XX.jar以及commons-logging-XX.jar,找到问题基本上解决问题就很容易了,有如下两种方法可以一试:
     A.直接下载这两个包导入项目
     B.去apache的github中下载这两个项目的代码,自己编译打包
 
    通过尝试,发现B想法有点天真,没能成功,原因如上,commons-logging-XX缺一堆各种包,于是先下载这两个jar包导入
    结果打包正常
    最后打包httpmime.jar一切正常
4.在一个新建的项目中导入刚才打好的包,再倒入commons-codec.jar 和commons-logging,jar,编写程序测试,证实打包正常

 

posted on 2015-04-29 19:59  程序猿猿猿  阅读(2751)  评论(0编辑  收藏  举报

导航