From a5307021f3e943d37f4193e97a5cb2a0e8d0c560 Mon Sep 17 00:00:00 2001 From: tianmo Date: Fri, 16 Oct 2026 16:46:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E6=BB=9A=E5=88=B0=E5=8F=AF=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E7=89=88=E6=9C=AC=E5=B9=B6=E4=BF=AE=E6=98=A0=E5=B0=84?= =?UTF-8?q?=E8=A1=A8=E8=B7=AF=E5=BE=84=EF=BC=9A=E4=BB=8E=20classes=20?= =?UTF-8?q?=E5=BE=80=E4=B8=8A=E6=89=BE=E5=90=AB=20tools/deobf/names.tsv=20?= =?UTF-8?q?=E7=9A=84=E4=BB=93=E5=BA=93=E6=A0=B9=EF=BC=88Inspector=20?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E7=9C=9F=E5=90=8D=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- viewpanel/src/com/spineview/ObjectPanel.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/viewpanel/src/com/spineview/ObjectPanel.java b/viewpanel/src/com/spineview/ObjectPanel.java index acb14e7..66620eb 100644 --- a/viewpanel/src/com/spineview/ObjectPanel.java +++ b/viewpanel/src/com/spineview/ObjectPanel.java @@ -1025,11 +1025,19 @@ public final class ObjectPanel { try { String classes = System.getProperty("spine.classes"); if (classes == null) return; - // classes = /viewpanel/build/classes → 上跳三级才是仓库根 - java.io.File root = new java.io.File(classes).getParentFile().getParentFile().getParentFile(); - java.io.File table = new java.io.File(root, "tools/deobf/names.tsv"); - if (!table.isFile()) { - System.err.println("[panel] 没找到映射表: " + table); + // 从 classes 往上找,直到找到含 tools/deobf/names.tsv 的仓库根(不数层数,稳) + java.io.File dir = new java.io.File(classes).getAbsoluteFile(); + java.io.File table = null; + for (int i = 0; i < 6 && dir != null; i++) { + java.io.File candidate = new java.io.File(dir, "tools/deobf/names.tsv"); + if (candidate.isFile()) { + table = candidate; + break; + } + dir = dir.getParentFile(); + } + if (table == null) { + System.err.println("[panel] 没找到映射表(从 " + classes + " 往上找了 6 层)"); return; } for (String line : java.nio.file.Files.readAllLines(table.toPath(),