在Maven Windows 先决条件中,它指出,
您需要解压 Maven 发行版。不要在源代码中间解压它;选择某个位置(路径中没有空格!)并在那里解压。
为什么路径中是否有空格很重要?
问题是在 Maven 的某个地方,它正在执行一个子进程,并且它没有正确地将其文件名参数用双引号括起来。所以一个文件在
"C:\Program Files\Foobar"
在命令行上看起来像 2 个文件
"C:\Program"
"Files\Foobar"
这些都不正确。这是“旧”时代的遗留物,当时文件名中不允许使用空格(即 1980 年代),并且命令行上的参数由空格分隔。很遗憾,这个问题仍然存在。在 Linux 机器上稍差一点,因为迁移到允许文件名中包含空格的速度较慢,所以如果文件名中有空格,Linux 上有更多的脚本和程序会失败。