From 969fcdff6e18aa8676eb3e5d6717c0b7b5f0b9e3 Mon Sep 17 00:00:00 2001 From: zs-yg <3972006562@qq.com> Date: Thu, 20 Nov 2025 21:08:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8B=E8=BD=BDjre?= =?UTF-8?q?=E7=9A=84=E5=B7=B2=E7=9F=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Program.cs | 2 +- Tools/jredownload/JreDownloadService.cs | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Program.cs b/Program.cs index e4a4928..4f0cec3 100644 --- a/Program.cs +++ b/Program.cs @@ -50,7 +50,7 @@ namespace MCSJ LogMain.Info($"版本下载完成: {version}"); break; case "3": - Console.Write("请输入要下载的JRE版本(如jre8,jre11等): "); + Console.Write("请输入要下载的JRE版本(jre8,jre11,jre17/21/25): "); var jreVersion = Console.ReadLine(); if (string.IsNullOrWhiteSpace(jreVersion)) { diff --git a/Tools/jredownload/JreDownloadService.cs b/Tools/jredownload/JreDownloadService.cs index fec5554..92a5a40 100644 --- a/Tools/jredownload/JreDownloadService.cs +++ b/Tools/jredownload/JreDownloadService.cs @@ -21,6 +21,13 @@ namespace MCSJ.Tools.JreDownload public async Task DownloadAndSetupJre(string version) { + // 0. 检查是否已存在该版本 + if (CheckJreExists(version)) + { + Console.WriteLine($"JRE {version} 已存在,无需重复下载"); + return; + } + // 1. 读取jrelist.txt获取下载链接 var downloadUrl = GetDownloadUrl(version); if (string.IsNullOrEmpty(downloadUrl)) @@ -165,6 +172,23 @@ namespace MCSJ.Tools.JreDownload return Directory.GetFiles(folder, exeName, SearchOption.AllDirectories).FirstOrDefault(); } + private bool CheckJreExists(string version) + { + var tomlPath = Path.Combine(SetupFolder, "jre.toml"); + if (!File.Exists(tomlPath)) + return false; + + try + { + var content = File.ReadAllText(tomlPath); + return content.Contains($"[jre.{version}]"); + } + catch + { + return false; + } + } + private void CreateJreToml(string version, string javaExePath, string javawExePath) { if (!Directory.Exists(SetupFolder))