# Install portable Maven under E:\wwwroot\tools if missing. $ErrorActionPreference = "Stop" $tools = "E:\wwwroot\tools" New-Item -ItemType Directory -Force -Path $tools | Out-Null $mvnHome = Join-Path $tools "apache-maven-3.9.9" $mvnCmd = Join-Path $mvnHome "bin\mvn.cmd" if (Test-Path $mvnCmd) { Write-Output ("maven_exists=" + $mvnHome) & $mvnCmd -v exit 0 } $zip = Join-Path $tools "apache-maven-3.9.9-bin.zip" $url = "https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zip" # fallback archive $url2 = "https://archive.apache.org/dist/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zip" Write-Output "downloading maven..." try { Invoke-WebRequest -Uri $url -OutFile $zip -UseBasicParsing } catch { Write-Output "primary failed, try archive..." Invoke-WebRequest -Uri $url2 -OutFile $zip -UseBasicParsing } Expand-Archive -Path $zip -DestinationPath $tools -Force if (-not (Test-Path $mvnCmd)) { throw "maven extract failed" } Write-Output "MAVEN_OK" & $mvnCmd -v