From 192a0c987e38031101c5bac133917c1249df5c82 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Fri, 22 Oct 2021 21:17:49 +0800 Subject: [PATCH] fix: unable to rename game versions that do not have jar file in directory. --- .../java/org/jackhuang/hmcl/game/DefaultGameRepository.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DefaultGameRepository.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DefaultGameRepository.java index 656a133a2..e08c9f141 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DefaultGameRepository.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DefaultGameRepository.java @@ -216,13 +216,15 @@ public class DefaultGameRepository implements GameRepository { Path toJson = toDir.resolve(to + ".json"); Path toJar = toDir.resolve(to + ".jar"); + boolean hasJarFile = Files.exists(fromJar); + try { Files.move(fromJson, toJson); - Files.move(fromJar, toJar); + if (hasJarFile) Files.move(fromJar, toJar); } catch (IOException e) { // recovery Lang.ignoringException(() -> Files.move(toJson, fromJson)); - Lang.ignoringException(() -> Files.move(toJar, fromJar)); + if (hasJarFile) Lang.ignoringException(() -> Files.move(toJar, fromJar)); Lang.ignoringException(() -> Files.move(toDir, fromDir)); throw e; }