diff --git a/.gitignore b/.gitignore index 9170a81845..70650195cc 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,5 @@ # Ignore Mac DS_Store files .DS_Store +/.idea/ +/.oca/ \ No newline at end of file diff --git a/visualvm/launcher/visualvm b/visualvm/launcher/visualvm index 4e7c7c0d45..589cffcd10 100644 --- a/visualvm/launcher/visualvm +++ b/visualvm/launcher/visualvm @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -61,9 +61,26 @@ case "`uname`" in ;; esac +set_jdk_java_home_from_env_vars() { + # Check if JDK_HOME is set and valid + if [ -n "${JDK_HOME}" ] && [ -d "${JDK_HOME}" ] && [ -f "${JDK_HOME}/bin/java" ]; then + visualvm_jdkhome="${JDK_HOME}" + # Check if JAVA_HOME is set and valid + elif [ -n "${JAVA_HOME}" ] && [ -d "${JAVA_HOME}" ] && [ -f "${JAVA_HOME}/bin/java" ]; then + visualvm_jdkhome="${JAVA_HOME}" + fi +} + +set_jdk_java_home(){ + # After loading visualvm.conf , check if visualvm_jdkhome defined & its valid. Else fallback to jdk env + if [ -n "${visualvm_jdkhome}" ] && [ -d "${visualvm_jdkhome}" ] && [ -f "${visualvm_jdkhome}/bin/java" ]; then + : # No-Op + else + set_jdk_java_home_from_env_vars + fi +} if [ -f "$progdir"/../lib/visualvm/etc/visualvm.conf ] ; then - visualvm_jdkhome="$basedir" old=`pwd` cd "$progdir/../lib/visualvm/" basedir=`pwd` @@ -73,6 +90,7 @@ elif [ -f "$progdir"/../etc/visualvm.conf ] ; then . "$progdir"/../etc/visualvm.conf fi +set_jdk_java_home export DEFAULT_USERDIR_ROOT