Skip to content

Commit eaddcc6

Browse files
committed
Workaround: Windows Junction Link handling issue in mvnw.cmd
1 parent defcdbe commit eaddcc6

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

maven-wrapper-distribution/src/resources/only-mvnw.cmd

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,24 @@ if ($env:MVNW_REPOURL) {
7878
}
7979
$distributionUrlName = $distributionUrl -replace '^.*/',''
8080
$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$',''
81-
$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain"
81+
82+
$MAVEN_M2_PATH = "$HOME/.m2"
8283
if ($env:MAVEN_USER_HOME) {
83-
$MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain"
84+
$MAVEN_M2_PATH = "$env:MAVEN_USER_HOME"
85+
}
86+
87+
if (-not (Test-Path -Path $MAVEN_M2_PATH)) {
88+
New-Item -Path $MAVEN_M2_PATH -ItemType Directory | Out-Null
8489
}
90+
91+
$MAVEN_WRAPPER_DISTS = $null
92+
if ((Get-Item $MAVEN_M2_PATH).Target -eq $null) {
93+
$MAVEN_WRAPPER_DISTS = "$MAVEN_M2_PATH/wrapper/dists"
94+
} else {
95+
$MAVEN_WRAPPER_DISTS = (Get-Item $MAVEN_M2_PATH).Target[0] + "/wrapper/dists"
96+
}
97+
98+
$MAVEN_HOME_PARENT = "$MAVEN_WRAPPER_DISTS/$distributionUrlNameMain"
8599
$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join ''
86100
$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME"
87101

0 commit comments

Comments
 (0)