使用.NET 5的 C# 编写了个jdk部署工具
- 自动用aria2下载jdk16
- 检查下载文件完整性(sha-256)
- 支持java环境变量配置
项目类
- 环境变量管理类
- http辅助类
- aria2辅助类
- Json请求格式类
- Zip文件辅助类
- 完整性检测辅助类
原理
本项目采用 C#
采用rpc控制 aria2
下载jdk16,经检测解压后配置环境变量
rpc实际控制方法为向 aria2
发起 post
请求,然后 aria2
接收回复
流程
- 构造请求调用的json数据
- 使用aria2辅助类启动
aria2
主程序 - 发起下载请求
- 每
500ms
检查一次aria2
返回的状态,如果下载结束继续进行,否则持续检查 - 下载完成检查文件
SHA256
与给出的是否一致,不一致给出提示退出 - 使用zip辅助类解压jdk的压缩包
- 通过环境变量管理类设置环境变量
难点
- 此程序与aria2两进程间通信(rpc)
- http POST方法的C#实现
- SHA-256算法
- 注册表的可扩充字符串值自动填充环境问题