<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          本地編譯Netty并打包成指定的版本

          共 1527字,需瀏覽 4分鐘

           ·

          2021-04-13 10:10


          首先從GitHub下載Netty源碼
          https://github.com/netty/netty


          雖然下載了源碼, 一般情況我們會針對特定的tag版本進(jìn)行學(xué)習(xí)研究.


          使用git tag命令查看所有的tag

              netty-3.10.0.Final

              netty-3.10.1.Final

              netty-3.10.2.Final

              ...

              netty-4.1.6.Final

              netty-4.1.60.Final

              netty-4.1.7.Final

              netty-4.1.8.Final

              netty-4.1.9.Final

              netty-5.0.0.Alpha1

              netty-5.0.0.Alpha2




          這里我們選擇netty-4.1.60.Final


          執(zhí)行以下命令


          // 根據(jù)netty-4.1.60.Final這個tag版本創(chuàng)建一個本地分支netty-tmpgit branch netty-tmp netty-4.1.60.Final// 切換到netty-tmp分支git checkout netty-tmp


          1

          Maven配置






          2

          JDK配置



          JDK1.8





          3

          修改內(nèi)容





          將父pom.xml中的1.61.7都改成1.8


          將父pom.xml中的所有test模塊都注釋掉




          4

          其他操作





          執(zhí)行Common下的install命令




          執(zhí)行rebuild



          代碼中會出現(xiàn)一些斷言錯誤, 直接將錯誤代碼注釋掉即可



          把父pom.xml文件中關(guān)鍵字是com.github.siom79.japicmp的plugin刪除.


          全局搜索xml文件中的maven-checkstyle-plugin關(guān)鍵字, 把與checkstyle相關(guān)的plugin全部刪除. (大約分布在6個地方)


          由于我們指定的版本是4.1.60.Final, 為了不引起沖突, 我們把這個版本的名稱改成4.1.60.3.Final(名稱任意), 全局搜索xml文件, 然后全部替換掉就可以.(大約85處)




          NioEventLoopGroup文件的構(gòu)造器中添加測試內(nèi)容


          最后執(zhí)行打包



          執(zhí)行完成之后, 我們可以在本地的倉庫中找到打包后的文件


          接下來進(jìn)入驗證階段


          驗證階段




          在另一個工程中, 依賴上面的4.1.60.3.Final版本


          測試代碼

          public static void main( String[] args ) {
              // 我們就是在這個文件中添加了代碼, 現(xiàn)在直接調(diào)用構(gòu)造器     NioEventLoopGroup boss = new NioEventLoopGroup(1);}


          輸出內(nèi)容如下



          你可以通過這種方式, 修改源碼之后, 重新打包, 然后在其他項目依賴這個包, 用于排查一些問題, 或者學(xué)習(xí)使用.


          整體操作下來還是比較麻煩的, 但基本上只需要操作一次, 后面基本也就不會再調(diào)整修改.



          瀏覽 46
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷综合在线视频 | 伊人成年网 | 人人看人人草 | 欧美高清操逼 | 人妻在线中文字幕蜜桃 |