各種中介軟體、框架原始碼環境搭建
阿新 • • 發佈:2022-05-24
隨著個人學習進度陸續補充中介軟體、原始碼環境搭建的過程。
Netty原始碼環境搭建
下載
從github下載netty原始碼:https://github.com/netty/netty
jdk環境選擇jdk8:
然後重新整理maven,等待一段時間
解決報錯
依賴下載完成後,在 codec-redis
模組中,類 FixedRedisMessagePool 會報如下類不存在的問題:
import io.netty.util.collection.LongObjectHashMap;
import io.netty.util.collection.LongObjectMap;
解決方式如下:
cd common; mvn clean compile;
-
跳轉到
common
模組中,編譯生成對應的類。為什麼可以通過編譯生成對應的類呢,原因參見common
模組的src/java/templates/io/netty/util/collection
目錄下的.template
檔案。編譯後,common包會生成對應缺少類的class檔案,此時類
FixedRedisMessagePool
就不報錯了
在 Github 上,也有多個針對這個情況討論的 issue :
- 《Can not find class io.netty.util.collection.LongObjectHashMap in 4.1.8.final》
- 《io.netty.util.collection.LongObjectHashMap not found at branch 4.1》
example 模組
在 example
模組裡,官網提供了多個 Netty 的使用示例。
我這裡使用DiscardServer
類驗證:啟動成功