在Windows10中从源代码构建hadoop时,maven上的命令行太长

q43xntqr  于 2021-05-31  发布在  Hadoop
关注(0)|答案(2)|浏览(665)

我正试图从本文所解释的源代码构建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?

p8h8hvxi

p8h8hvxi1#

如果你想设置 .m2 目录,您可以通过重写默认值来实现。
所有用户:编辑 \conf\settings.xml 全局配置文件。更改 localRepository 本地存储库缓存的绝对路径的键。
你的用户:我认为你应该能够设置 M2_HOME 用户设置中的环境变量。

4sup72z8

4sup72z82#

你在用intellij吗?
因为在intellij中,您有一些缩短命令行的选项。转到运行/调试配置。缩短命令行,可以尝试classpath文件选项。
你可以在这篇博文中找到更多关于它的信息。

相关问题