【发布时间】:2020-05-15 17:40:48
【问题描述】:
我正在尝试按照this article 中的说明从源代码构建hadoop。在构建 Apache common 时,一切都失败并显示以下错误消息:command line too long。
所以,这是我尝试过的(我会在尝试更多时更新):
- 如本文所述
Stackoverflow answer,克服这个错误的方法是尽可能缩短路径。因此,我将存储库文件从
C:\user_name\.m2\repository\剪切到另一个目录并创建了一个空驱动器,并将其指向我已将文件移动到的这个新目录,就像这样subst M: D:\maven-2.0.8\repository并将“settings.xml”中的<localRepository>M:</localRepository>标签从C:\apache-maven-2.0.8\conf更改为指向M:。完成所有这些之后,我重新启动系统并尝试再次构建 hadoop。但是,正如我从错误中看到的那样,maven 仍然将包下载到C:\Users\user_name\.m2\repository\,而不是M:,并且command line too long错误的错误仍然存在。 - 为了尽可能缩短路径,我在
C:\mrepo中创建了一个目录,并将此目录符号链接到C:\user_name\.m2\repository\,如下所示:mklink /J C:\mrepo C:\Users\.m2\repository。完成所有这些之后,我重新启动系统并尝试再次构建 hadoop。但是,正如我从错误中看到的那样,maven 仍然将包下载到C:\Users\user_name\.m2\repository\,而不是M:,并且command line too long错误的错误仍然存在。
编辑 1:
- 我还设置了一个名为
M2_HOME的环境变量,其值为M:\。并在我的 \conf\settings.xml 中进行了更改:<localRepository>${M2_HOME}</localRepository>。问题仍然存在。
如何解决这个问题并成功构建 hadoop?
【问题讨论】:
-
好问题。您参考了另一篇 SO 帖子,因此您显然试图找出如何自行修复它。唯一缺少的是您使用的操作系统,尽管我从帖子中推断它是某种形式的 Windows。
-
问题的标题有。这是 Windows 10。
-
您是否在纯 Windows 命令行上运行构建?
-
@khmarbaise 我在“visual studio x64 win64 命令提示符”上完成了所有这些操作,我认为这是 Windows 命令行。
-
所以这个问题的答案是:不。我不知道 Visual Studio,我也不使用它......所以第一个测试总是在普通命令行上进行测试,以消除可能发生的任何影响...
标签: maven hadoop windows-10 hadoop3