我正试图从本文所解释的源代码构建hadoop。构建apache common时,所有操作都会失败,并显示以下错误消息: command line too long
.
所以,以下是我尝试过的内容(我会在尝试更多内容时更新此内容):
正如在这个stackoverflow答案中所说的,克服这个错误的方法是尽可能地缩短路径。所以,我从 C:\user_name\.m2\repository\
到另一个目录,并使一个空驱动器,并有一个指向这个新的目录,我已经移动文件到,像这样 subst M: D:\maven-2.0.8\repository
改变了 <localRepository>M:</localRepository>
“settings.xml”中的标记 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:\
. 并在my\conf\settings.xml中进行了更改: <localRepository>${M2_HOME}</localRepository>
. 这个问题仍然存在。
如何修复此问题并成功构建hadoop?
2条答案
按热度按时间p8h8hvxi1#
如果你想设置
.m2
目录,您可以通过重写默认值来实现。所有用户:编辑
\conf\settings.xml
全局配置文件。更改localRepository
本地存储库缓存的绝对路径的键。你的用户:我认为你应该能够设置
M2_HOME
用户设置中的环境变量。4sup72z82#
你在用intellij吗?
因为在intellij中,您有一些缩短命令行的选项。转到运行/调试配置。缩短命令行,可以尝试classpath文件选项。
你可以在这篇博文中找到更多关于它的信息。