diff options
Diffstat (limited to 'logic')
-rw-r--r-- | logic/JavaUtils.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/logic/JavaUtils.cpp b/logic/JavaUtils.cpp index cf47df6f..ed90ae10 100644 --- a/logic/JavaUtils.cpp +++ b/logic/JavaUtils.cpp @@ -17,6 +17,7 @@ #include <QString> #include <QDir> #include <QMessageBox> +#include <QStringList> #include <setting.h> #include <pathutils.h> @@ -179,9 +180,21 @@ QList<QString> JavaUtils::FindJavaPaths() { QList<QString> javas; javas.append(this->GetDefaultJava()->path); + javas.append("/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/MacOS/itms/java/bin/java"); javas.append("/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"); javas.append("/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java"); - + QDir libraryJVMDir("/Library/Java/JavaVirtualMachines/"); + QStringList libraryJVMJavas = libraryJVMDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); + foreach (const QString &java, libraryJVMJavas) { + javas.append(libraryJVMDir.absolutePath() + "/" + java + "/Contents/Home/bin/java"); + javas.append(libraryJVMDir.absolutePath() + "/" + java + "/Contents/Home/jre/bin/java"); + } + QDir systemLibraryJVMDir("/System/Library/Java/JavaVirtualMachines/"); + QStringList systemLibraryJVMJavas = systemLibraryJVMDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); + foreach (const QString &java, systemLibraryJVMJavas) { + javas.append(systemLibraryJVMDir.absolutePath() + "/" + java + "/Contents/Home/bin/java"); + javas.append(systemLibraryJVMDir.absolutePath() + "/" + java + "/Contents/Commands/java"); + } return javas; } |