從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,編寫程序測試,證實打包正常

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM