netty源碼下載與編譯以及遇到的問(wèn)題
一、首先下載jar包。
網(wǎng)址(https://github.com/netty/netty/releases)這里我選擇的是4.1.32..final

netty源碼.png
二、解壓到自己的電腦后,先刪除.idea(如果有的話)和.mvn、.github,不然打開(kāi)項(xiàng)目Maven會(huì)自己建倉(cāng)庫(kù)把依賴下到自己建的倉(cāng)庫(kù)里。

netty源碼1.png
三、使用idea打開(kāi)項(xiàng)目,并rebuild

netty源碼2.png
rebuild后報(bào)下面的錯(cuò)誤:
java: 對(duì)assertEquals的引用不明確
org.junit.Assert 中的方法 assertEquals(long,long) 和 org.junit.Assert 中的方法 assertEquals(java.lang.Object,java.lang.Object) 都匹配
錯(cuò)誤原因是 assertEquals(2L, channel.readOutbound())與方法簽名assertEquals(Long, Long)、assetEquals(Object,Object)都匹配得上,JVM不知道用哪個(gè)方法,只要改成下面這樣就可以了
assertEquals(2L, channel.readOutbound()); 替換為 assertEquals(java.util.Optional.of(2L), channel.readOutbound());
改完以后,重新rebuild就可以了。
編譯成功后可以在netty-example(已在上圖中圈了出來(lái))中根據(jù)具體的案例運(yùn)行代碼。