修复下载jre的已知问题

This commit is contained in:
zs-yg
2025-11-20 21:08:01 +08:00
parent 3831c0ae0a
commit 969fcdff6e
2 changed files with 25 additions and 1 deletions

View File

@@ -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))
{

View File

@@ -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))