diff --git a/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/VersionSettingsController.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/VersionSettingsController.kt index b1831579f..e9365a230 100644 --- a/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/VersionSettingsController.kt +++ b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/VersionSettingsController.kt @@ -162,7 +162,6 @@ class VersionSettingsController { var flag = false var defaultToggle: JFXRadioButton? = null - var customToggle = javaItem.radioCustom javaItem.group.toggles.filter { it is JFXRadioButton }.forEach { toggle -> if (toggle.userData == version.javaVersion) { toggle.isSelected = true diff --git a/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/launch/DefaultLauncher.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/launch/DefaultLauncher.kt index a84137f16..bd57a91d2 100644 --- a/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/launch/DefaultLauncher.kt +++ b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/launch/DefaultLauncher.kt @@ -47,6 +47,7 @@ open class DefaultLauncher(repository: GameRepository, versionId: String, accoun protected open val defaultJVMArguments = Arguments.DEFAULT_JVM_ARGUMENTS protected open val defaultGameArguments = Arguments.DEFAULT_GAME_ARGUMENTS + protected open val forbidden = mapOf("-Xincgc" to { options.java.version >= JavaVersion.JAVA_9 }) /** * Note: the [account] must have logged in when calling this property @@ -89,8 +90,6 @@ open class DefaultLauncher(repository: GameRepository, versionId: String, accoun if (options.java.version >= JavaVersion.JAVA_7) res.add("-XX:+UseG1GC") - else - res.add("-Xincgc") if (options.metaspace != null && options.metaspace > 0) { if (options.java.version < JavaVersion.JAVA_8) @@ -183,7 +182,7 @@ open class DefaultLauncher(repository: GameRepository, versionId: String, accoun if (options.minecraftArgs != null && options.minecraftArgs.isNotBlank()) res.addAll(options.minecraftArgs.tokenize()) - res + res.filter { !(forbidden[it]?.invoke() ?: false) } } /** diff --git a/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/JavaVersion.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/JavaVersion.kt index 9e2240d49..bfb5f9a2e 100644 --- a/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/JavaVersion.kt +++ b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/JavaVersion.kt @@ -49,7 +49,7 @@ data class JavaVersion internal constructor( val version = parseVersion(longVersion) companion object { - private val regex = Pattern.compile("java version \"(?[1-9]*\\.[1-9]*\\.[0-9]*(.*?))\"") + private val regex = Pattern.compile("java version \"(?(.*?))\"") val UNKNOWN: Int = -1 val JAVA_5: Int = 50 @@ -173,16 +173,15 @@ data class JavaVersion internal constructor( private fun queryWindows() = LinkedList().apply { ignoreException { this += queryRegisterKey("HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\") } ignoreException { this += queryRegisterKey("HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\") } + ignoreException { this += queryRegisterKey("HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\JRE\\") } + ignoreException { this += queryRegisterKey("HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\JDK\\") } } private fun queryRegisterKey(location: String) = LinkedList().apply { querySubFolders(location).forEach { java -> - val s = java.count { it == '.' } - if (s > 1) { - val home = queryRegisterValue(java, "JavaHome") - if (home != null) - this += fromJavaHome(File(home)) - } + val home = queryRegisterValue(java, "JavaHome") + if (home != null) + this += fromJavaHome(File(home)) } } diff --git a/build.gradle b/build.gradle index c9bf4070d..a6c22e737 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ group 'org.jackhuang' version '3.0' buildscript { - ext.kotlin_version = '1.1.4-4' + ext.kotlin_version = '1.1.51' repositories { mavenCentral() diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index dd2a12b88..9eb8b1334 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.2.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.3-all.zip