diff --git a/src/lib_gui/utility/path_detector/java_runtime/JavaPathDetectorWindows.cpp b/src/lib_gui/utility/path_detector/java_runtime/JavaPathDetectorWindows.cpp index 196a5151..c6fbbc64 100644 --- a/src/lib_gui/utility/path_detector/java_runtime/JavaPathDetectorWindows.cpp +++ b/src/lib_gui/utility/path_detector/java_runtime/JavaPathDetectorWindows.cpp @@ -5,6 +5,7 @@ #include "FilePath.h" #include "utilityApp.h" +#include "utilityString.h" JavaPathDetectorWindows::JavaPathDetectorWindows(const std::string javaVersion) : JavaPathDetector("Java " + javaVersion + " for Windows", javaVersion) @@ -20,7 +21,16 @@ std::vector JavaPathDetectorWindows::getPaths() const key += "Wow6432Node\\"; } - key += ("JavaSoft\\Java Runtime Environment\\" + m_javaVersion).c_str(); + key += "JavaSoft\\"; + + if (utility::isPrefix(std::string("1."), m_javaVersion)) + { + key += ("Java Runtime Environment\\" + m_javaVersion).c_str(); + } + else + { + key += ("JRE\\" + m_javaVersion).c_str(); + } QSettings expressKey( key, QSettings::NativeFormat); // NativeFormat means from Registry on Windows. diff --git a/src/lib_gui/utility/path_detector/jre_system_library/JreSystemLibraryPathDetector.cpp b/src/lib_gui/utility/path_detector/jre_system_library/JreSystemLibraryPathDetector.cpp index 7b869eb7..22c44eb4 100644 --- a/src/lib_gui/utility/path_detector/jre_system_library/JreSystemLibraryPathDetector.cpp +++ b/src/lib_gui/utility/path_detector/jre_system_library/JreSystemLibraryPathDetector.cpp @@ -8,7 +8,7 @@ JreSystemLibraryPathDetector::JreSystemLibraryPathDetector( std::shared_ptr javaPathDetector) - : PathDetector("JRE System Library"), m_javaPathDetector(javaPathDetector) + : PathDetector(javaPathDetector->getName() + " System Library"), m_javaPathDetector(javaPathDetector) { } diff --git a/src/lib_gui/utility/utilityPathDetection.cpp b/src/lib_gui/utility/utilityPathDetection.cpp index edd9dbd2..85fe68ee 100644 --- a/src/lib_gui/utility/utilityPathDetection.cpp +++ b/src/lib_gui/utility/utilityPathDetection.cpp @@ -32,6 +32,7 @@ std::shared_ptr utility::getJavaRuntimePathDetector() { case OS_WINDOWS: combinedDetector->addDetector(std::make_shared("1.8")); + combinedDetector->addDetector(std::make_shared("9")); break; case OS_MAC: combinedDetector->addDetector(std::make_shared("1.8")); @@ -57,6 +58,7 @@ std::shared_ptr utility::getJreSystemLibraryPathsDetector( { case OS_WINDOWS: combinedDetector->addDetector(std::make_shared("1.8")); + combinedDetector->addDetector(std::make_shared("9")); break; case OS_MAC: combinedDetector->addDetector(std::make_shared("1.8"));