zoukankan      html  css  js  c++  java
  • 从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,编写程序测试,证实打包正常
  • 相关阅读:
    [GDKOI2010] 圈地计划(网络流)
    jzoj3454 表白(love)解题报告(01分数规划+DP)
    数论之卢卡斯定理
    POJ1180 Batch Scheduling 解题报告(斜率优化)
    BZOJ 球形空间产生器 解题报告(高斯消元)
    你是怎么封装一个view的
    沙盒目录结构是怎样的?各自用于那些场景?
    这个写法会出什么问题: @property (copy) NSMutableArray *array;
    怎么用 copy 关键字?
    @property后面可以有哪些修饰符?
  • 原文地址:https://www.cnblogs.com/candycloud/p/4466909.html
Copyright © 2011-2022 走看看