From 86a2661bfd29f06b52feed9a7015b607e3d9ba33 Mon Sep 17 00:00:00 2001 From: Tomas Hurka Date: Thu, 29 Sep 2022 15:20:58 +0200 Subject: [PATCH] GH-448 use system property to get main class (cherry picked from commit 975222cb6e98f0ed0b3f1bc00cb0b4b0853a054d) --- .../application/type/GraalVMApplicationTypeFactory.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/visualvm/graalvm/src/org/graalvm/visualvm/graalvm/application/type/GraalVMApplicationTypeFactory.java b/visualvm/graalvm/src/org/graalvm/visualvm/graalvm/application/type/GraalVMApplicationTypeFactory.java index 78738c70a5..8cbeae09f5 100644 --- a/visualvm/graalvm/src/org/graalvm/visualvm/graalvm/application/type/GraalVMApplicationTypeFactory.java +++ b/visualvm/graalvm/src/org/graalvm/visualvm/graalvm/application/type/GraalVMApplicationTypeFactory.java @@ -49,6 +49,7 @@ public class GraalVMApplicationTypeFactory extends MainClassApplicationTypeFacto private static final String LLVM_MAIN_CLASS = "com.oracle.truffle.llvm.launcher.LLVMLauncher"; // NOI18N private static final String GRAAL_SYSPROP_ID = "graalvm.home"; // NOI18N private static final String GRAAL_SYSPROP1_ID = "org.graalvm.home"; // NOI18N + private static final String LAUNCHER_SYSPROP_ID = "org.graalvm.launcher.class"; // NOI18N private static final String JVM_ARG_GRAAL_ID = "-D"+GRAAL_SYSPROP_ID+"="; // NOI18N private static final String JVM_ARG_GRAAL1_ID = "-Dgraal.CompilerConfiguration="; // NOI18N private static final String ARG_GRAAL_ID = "--"; // NOI18N @@ -114,6 +115,13 @@ private String getLangID(Jvm jvm) { String args = jvm.getMainArgs(); String mainClass = jvm.getMainClass(); + if ((mainClass == null || mainClass.isEmpty()) && jvm.isGetSystemPropertiesSupported()) { + Properties sysProp = jvm.getSystemProperties(); + + if (sysProp != null) { + mainClass = sysProp.getProperty(LAUNCHER_SYSPROP_ID); + } + } if (LEGACY_MAIN_CLASS.equals(mainClass)) { if (args != null) { String[] argArr = args.split(" +");