Build: fixed JDK detection via registry to support finding JDK 8 (#10369)
This commit is contained in:
parent
66fd4be4d7
commit
7ab01a3f79
19
build.ps1
19
build.ps1
|
|
@ -329,12 +329,19 @@ if ($RunBuild -and ($All -or $BuildJava) -and -not $NoBuildJava) {
|
|||
}
|
||||
else {
|
||||
try {
|
||||
$jdkVersion = (Get-Item HKLM:\SOFTWARE\JavaSoft\JDK | Get-ItemProperty -name CurrentVersion).CurrentVersion
|
||||
$javaHome = (Get-Item HKLM:\SOFTWARE\JavaSoft\JDK\$jdkVersion | Get-ItemProperty -Name JavaHome).JavaHome
|
||||
if (Test-Path "$javaHome\bin\javac.exe") {
|
||||
$env:JAVA_HOME = $javaHome
|
||||
Write-Host -f Magenta "Detected JDK $jdkVersion in $env:JAVA_HOME (via registry)"
|
||||
$foundJdk = $true
|
||||
$jdkRegistryKeys = @(
|
||||
"HKLM:\SOFTWARE\JavaSoft\JDK", # for JDK 10+
|
||||
"HKLM:\SOFTWARE\JavaSoft\Java Development Kit" # fallback for JDK 8
|
||||
)
|
||||
$jdkRegistryKey = $jdkRegistryKeys | Where-Object { Test-Path $_ } | Select-Object -First 1
|
||||
if ($jdkRegistryKey) {
|
||||
$jdkVersion = (Get-Item $jdkRegistryKey | Get-ItemProperty -name CurrentVersion).CurrentVersion
|
||||
$javaHome = (Get-Item $jdkRegistryKey\$jdkVersion | Get-ItemProperty -Name JavaHome).JavaHome
|
||||
if (Test-Path "${javaHome}\bin\javac.exe") {
|
||||
$env:JAVA_HOME = $javaHome
|
||||
Write-Host -f Magenta "Detected JDK $jdkVersion in $env:JAVA_HOME (via registry)"
|
||||
$foundJdk = $true
|
||||
}
|
||||
}
|
||||
}
|
||||
catch {
|
||||
|
|
|
|||
Loading…
Reference in New Issue