Repository navigation
Expand file tree
/
Copy pathuse-java17.ps1
More file actions
53 lines (43 loc) · 1.96 KB
/
Copy pathuse-java17.ps1
File metadata and controls
53 lines (43 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
$ErrorActionPreference = "Stop"
# Resolve JDK 17 and Maven paths from environment or common defaults.
$jdk17Home = if ($env:JDK17_HOME) { $env:JDK17_HOME }
elseif (Test-Path "C:\Program Files\Eclipse Adoptium\jdk-17*") {
(Get-ChildItem "C:\Program Files\Eclipse Adoptium\jdk-17*" -Directory | Select-Object -First 1).FullName
}
elseif (Test-Path "C:\Program Files\Java\jdk-17*") {
(Get-ChildItem "C:\Program Files\Java\jdk-17*" -Directory | Select-Object -First 1).FullName
}
elseif (Test-Path "C:\Program Files\ojdkbuild\java-17*") {
(Get-ChildItem "C:\Program Files\ojdkbuild\java-17*" -Directory | Select-Object -First 1).FullName
}
else { $null }
$mavenHome = if ($env:MAVEN_HOME) { $env:MAVEN_HOME }
elseif (Test-Path "C:\Program Files\Apache\Maven\*") {
(Get-ChildItem "C:\Program Files\Apache\Maven\*" -Directory | Select-Object -First 1).FullName
}
else {
# Try to find mvn on PATH
$mvnCmd = Get-Command mvn -ErrorAction SilentlyContinue
if ($mvnCmd) { Split-Path (Split-Path $mvnCmd.Source -Parent) -Parent } else { $null }
}
if (-not $jdk17Home) {
throw "JDK 17 not found. Set JDK17_HOME environment variable or install JDK 17."
}
if (-not $mavenHome) {
throw "Maven not found. Set MAVEN_HOME environment variable or install Maven."
}
$env:JAVA_HOME = $jdk17Home
$env:MAVEN_HOME = $mavenHome
$jdkBin = Join-Path $jdk17Home "bin"
$mavenBin = Join-Path $mavenHome "bin"
if (($env:Path -split ";") -notcontains $jdkBin) {
$env:Path = "$jdkBin;$env:Path"
}
if (($env:Path -split ";") -notcontains $mavenBin) {
$env:Path = "$mavenBin;$env:Path"
}
Write-Host "JAVA_HOME = $env:JAVA_HOME" -ForegroundColor Green
Write-Host "MAVEN_HOME = $env:MAVEN_HOME" -ForegroundColor Green
Write-Host ""
java -version
mvn -v