一、項目簡介
????????ZooKeeperNetEx 項目是一個針對.NET開發的異步客戶端庫,旨在為開發者提供高效且可靠的分布式協調服務。? 該項目完全基于任務異步編程,兼容.NET 4.61及以上版本,包括.NET Core。ZooKeeperNetEx嚴格遵循官方Java客戶端的邏輯,代碼實現與Java版本高度相似,使得從Java系統遷移到.NET系統變得更加容易?。
? ? ? ? 項目地址:https://github.com/shayhatsor/zookeeper
? ? ? ? 下載項目:
git clone https://github.com/shayhatsor/zookeeper.git
?二、準備環境
C:\Users\zhuji>git -v
git version 2.37.0.windows.1C:\Users\zhuji>java --version
openjdk 11.0.16.1 2022-08-12 LTS
OpenJDK Runtime Environment Microsoft-40648 (build 11.0.16.1+1-LTS)
OpenJDK 64-Bit Server VM Microsoft-40648 (build 11.0.16.1+1-LTS, mixed mode)C:\Users\zhuji>ant -v
Apache Ant(TM) version 1.10.15 compiled on August 25 2024
Trying the default build file: build.xml
Buildfile: build.xml does not exist!
Build failedC:\Users\zhuji>dotnet --list-sdks
6.0.404 [C:\Program Files\dotnet\sdk]
9.0.203 [C:\Program Files\dotnet\sdk]
三、生成驗證
? ? ? ? 下載完項目后,進入項目目錄,運行ant。
E:\Temp\zookeeper>ant
Buildfile: E:\Temp\zookeeper\build.xmlinit:ivy-download:ivy-taskdef:ivy-init:ivy-retrieve:
[ivy:retrieve] :: Apache Ivy 2.4.0 - 20141213170938 :: http://ant.apache.org/ivy/ ::
[ivy:retrieve] :: loading settings :: file = E:\Temp\zookeeper\ivysettings.xml
[ivy:retrieve] :: resolving dependencies :: org.apache.zookeeper#zookeeper;3.4.12
[ivy:retrieve] confs: [default]
[ivy:retrieve] found org.slf4j#slf4j-api;1.7.25 in maven2
[ivy:retrieve] found org.slf4j#slf4j-log4j12;1.7.25 in maven2
[ivy:retrieve] found log4j#log4j;1.2.17 in maven2
[ivy:retrieve] found jline#jline;0.9.94 in maven2
[ivy:retrieve] found org.apache.yetus#audience-annotations;0.5.0 in maven2
[ivy:retrieve] found io.netty#netty;3.10.6.Final in maven2
[ivy:retrieve] :: resolution report :: resolve 131ms :: artifacts dl 7ms---------------------------------------------------------------------| | modules || artifacts || conf | number| search|dwnlded|evicted|| number|dwnlded|---------------------------------------------------------------------| default | 6 | 0 | 0 | 0 || 6 | 0 |---------------------------------------------------------------------
[ivy:retrieve] :: retrieving :: org.apache.zookeeper#zookeeper
[ivy:retrieve] confs: [default]
[ivy:retrieve] 0 artifacts copied, 6 already retrieved (0kB/5ms)clover.setup:clover.info:clover:jute:compile_jute_uptodate:compile_jute:ver-gen:git-revision:[exec][exec] E:\Temp\zookeeper>echo offversion-info:build-generated:[javac] Compiling 1 source file to E:\Temp\zookeeper\build\classes[javac] 警告: [options] 未與 -source 6 一起設置引導類路徑[javac] 警告: [options] 源值6已過時, 將在未來所有發行版中刪除[javac] 警告: [options] 目標值1.6已過時, 將在未來所有發行版中刪除[javac] 警告: [options] 要隱藏有關已過時選項的警告, 請使用 -Xlint:-options。[javac] 4 個警告compile:jar:[jar] Building jar: E:\Temp\zookeeper\build\zookeeper-3.4.12.jarBUILD SUCCESSFUL
Total time: 2 seconds
完成無錯誤后,進入src/csharp目錄,使用vs2022打開?ZooKeeperNetEx.sln項目
打開項目后,編譯生成即可。
四、參考文檔
https://github.com/shayhatsor/zookeeper#