Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
3.9.9
-
Windows 10
Description
When .mvn is located on filesystem root, on Windows, the command line created (in mvn.cmd) to run java fails.
This is because the part concerning multiModuleProjectDirectory ends with a slash before the double quote which certainly means escaping and it messes the whole command. Example for drive o: :
"-Dmaven.multiModuleProjectDirectory=o:\"
In this case, java.exe displays its usage help as it thinks the command is wrong.
The workaround is to add an additional escaping backslash:
"-Dmaven.multiModuleProjectDirectory=o:\\"
Note: this only happens in case there is a .mvn at root.
This simple line added just before calling "%JAVACMD%" seems to do the job:
if "%MAVEN_PROJECTBASEDIR:~-1%"=="\" set "MAVEN_PROJECTBASEDIR=%MAVEN_PROJECTBASEDIR%\"
A workaround for users facing the problem is to define MAVEN_BASEDIR to the drive root with 2 backslash before running Maven:
set MAVEN_BASEDIR=%tempDriveLetter%:\\