Hex-Dragon / PCL2

Plain Craft Launcher(我的世界启动器 PCL)的源代码,为支持社区研究而公开。
https://afdian.com/a/LTCat
Other
2.35k stars 178 forks source link

在1.20.1版本中下载forge失败的问题 #4282

Closed PumpkinPeroxide closed 1 month ago

PumpkinPeroxide commented 1 month ago

检查项

描述

原是在PCL2.8.3版本中安装Minecraft1.20.1+forge版本时出现了:Forge 安装器出错错误,日志部分(log2~log3)提示为:找不到或无法加载主类 com.bangbang93.ForgeInstaller,尝试了1.20.1中其他版本的forge皆有此问题,而别的Minecraft版本的forge仍能够正常下载 随后更换了较早的PCL2.7.4版本,产生了相同的问题 尝试使用BakaXL以及HMCL启动器安装同版本的Minecraft及forge,皆能够正常下载

重现步骤

PCL版本2.7.4 1、点击下载,自动安装 2、选择正式版——1.20.1——Forge——最新版(47.3.5)——安装 3、直到下载Forge支持库文件、下载原版支持库文件等都正常 4、当到达“安装Forge文件(方式A)”项时,进度在大约6%时安装失败 具体提示为: 下载 Forge 47.3.5失败 → 安装 Forge(方式 A)失败 → 安装新 Forge 版本失败 → 运行 Forge 安装器失败 → Forge 安装器出错,日志结束部分为: 错误: 找不到或无法加载主类 com.bangbang93.ForgeInstaller 在 PCL.ModDownloadLib._Closure$35-0._Lambda$__7(LoaderTask2 Task) 在 PCL.ModLoader.LoaderTask2._Closure$13-0._Lambda$0() 在 PCL.ModDownloadLib._Closure$__35-0._Lambda$7(LoaderTask2 Task) 在 PCL.ModDownloadLib.ForgelikeInjector(String Target, LoaderTask2 Task, String McFolder, Boolean UseJavaWrapper, Boolean IsNeoForge) 在 PCL.ModDownloadLib._Closure$__35-0._Lambda$__7(LoaderTask`2 Task)

在PCL版本2.8.3中略有不同,具体提示为: 下载 Forge 47.3.5失败 → 安装 Forge(方式 A)失败 → 安装新 Forge 版本失败 → 运行 Forge 安装器失败 → Forge 安装器出错,日志结束部分为: 错误: 找不到或无法加载主类 com.bangbang93.ForgeInstaller 在 PCL.ModDownloadLib._Closure$35-0._Lambda$__7(LoaderTask2 Task) 在 PCL.ModLoader.LoaderTask2._Closure$13-0._Lambda$0() 在 PCL.ModDownloadLib._Closure$__35-0._Lambda$7(LoaderTask2 Task) 在 PCL.ModDownloadLib.ForgelikeInjector(String Target, LoaderTask2 Task, String McFolder, Boolean UseJavaWrapper, Boolean IsNeoForge) 在 PCL.ModDownloadLib._Closure$__35-0._Lambda$__7(LoaderTask`2 Task)

以上提示应均能在提交的log中寻找到

日志与附件

Log1.txt Log2.txt Log3.txt Log4.txt Log5.txt

LTCatt commented 1 month ago

1.20.1-Forge_47.0.0 无法复现。 不是中文路径问题,不知道咋回事,需要第三方的复现来获取更多线索……

allMagicNB commented 1 month ago

像是 Java 问题?

LTCatt commented 1 month ago
[13:22:24.289] [Java] 排序后的 Java 优先顺序:
[13:22:24.289] [Java]  - JRE 8 (8.0.411):C:\Program Files (x86)\Common Files\Oracle\Java\java8path_target_23754000\
[13:22:24.289] [Java]  - JRE 8 (8.0.411):D:\Program Files\Java\bin\
[13:22:24.289] [Java]  - JDK 21 (21.0.1):D:\Program Files\Zulu\zulu-21\bin\
[13:22:24.289] [Java]  - JDK 22 (22.0.1):D:\Program Files (x86)\Java\jdk-22\bin\
[13:22:24.289] [Java] 最终选定的 Java:JRE 8 (8.0.411):C:\Program Files (x86)\Common Files\Oracle\Java\java8path_target_23754000\

奇怪,PCL 现在应该会尽量不把 java8path_target 这种 Java 加进列表才对…… 反馈者点一下自动搜索,然后再发一下 log? image

PumpkinPeroxide commented 1 month ago

Log1.txt

PumpkinPeroxide commented 1 month ago

现在进行下载都能够成功,无论是最新版还是47.0.0,奇怪…… 以下是点击了自动搜索java后的日志内容 Log1.txt Log2.txt Log3.txt Log4.txt Log5.txt

3gf8jv4dv commented 1 month ago

Java used when installation fails:

[Java] 最终选定的 Java:JRE 8 (8.0.411):C:\Program Files (x86)\Common Files\Oracle\Java\java8path_target_23754000\

Java used when installation is successful:

[Java] 最终选定的 Java:JRE 8 (8.0.411):D:\Program Files\Java\bin\

Could you manually select the first Java mentioned above in the launcher settings and after restarting the launcher try installing Forge 1.20.1 again? I would like to know if you can reproduce this. I tried using the first Java path above but could not reproduce.

LTCatt commented 1 month ago

现在会特例排除路径含 java8path_target_ 的 Java。