官方倉庫: https://github.com/netty/nettyfork
到自建倉庫後, 經過 IDEA
拉取到本地建立項目.
本文使用的netty版本爲 4.1.49.Final-SNAPSHOT
git
首先在 Profile
上根據需求勾選選項,拉取jar包.github
同時修改pom.xml
此處位置爲1.8apache
耐心等待全部jar包拉取完畢, 若是maven拉取速度很慢, 能夠更改maven源改成國內鏡像:maven
打開IntelliJ IDEA->Settings ->Build, Execution, Deployment -> Build Tools > Maven
通常狀況下, 該路徑下並不存在
setting.xml
, 這時候就須要手動建立文件, 並複製如下內容便可:工具
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> </settings>
完成上述步驟後,到 example
包下運行 EchoServer
oop
會報以下錯誤:post
解決方案:ui
cd common mvn clean compile -Dstylecheck.skip
若是不加 -Dstylecheck.skip
可能沒法經過插件的格式檢查url
完成上述步驟後, 便可編譯經過spa
example
包中存放的是官方提供的 netty 示例程序, 下面示例了 echo
用例的使用
直接執行 main
方法,輸出以下日誌:
17:53:40.485 [nioEventLoopGroup-2-1] INFO i.n.handler.logging.LoggingHandler - [id: 0xc78a216b] REGISTERED 17:53:40.495 [nioEventLoopGroup-2-1] INFO i.n.handler.logging.LoggingHandler - [id: 0xc78a216b] BIND: 0.0.0.0/0.0.0.0:8007 17:53:40.499 [nioEventLoopGroup-2-1] INFO i.n.handler.logging.LoggingHandler - [id: 0xc78a216b, L:/0:0:0:0:0:0:0:0:8007] ACTIVE
直接執行 main
方法, 不會輸出任何日誌, 但在 echoServer
下會輸出以下日誌:
18:10:15.391 [nioEventLoopGroup-2-1] INFO i.n.handler.logging.LoggingHandler - [id: 0xc78a216b, L:/0:0:0:0:0:0:0:0:8007] READ: [id: 0xa64a1fcd, L:/127.0.0.1:8007 - R:/127.0.0.1:4762] 18:10:15.394 [nioEventLoopGroup-2-1] INFO i.n.handler.logging.LoggingHandler - [id: 0xc78a216b, L:/0:0:0:0:0:0:0:0:8007] READ COMPLETE
本篇介紹瞭如何部署 netty 源碼調試環境, 筆者中間也踩了好幾個坑, 但願本篇能對其它小夥伴有所幫助