在Windows 10中从源代码构建hadoop时,Maven上的命令行太长

问题描述 投票:1回答:2

我正在尝试根据this article中的说明从源构建hadoop。在构建Apache common时,一切都会失败,并显示以下错误消息:command line too long。因此,这是我尝试的两个修复程序:

  1. 正如在此所说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错误的错误仍然存​​在。
  2. 为了尽可能缩短路径,我在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错误的错误仍然存​​在。

如何解决此问题并成功构建hadoop?

java maven hadoop windows-10 hadoop3
2个回答
0
投票

您是否正在使用IntelliJ

由于在IntelliJ中,您可以使用一些选项来缩短命令行。转到运行/调试配置。缩短命令行,可以尝试使用classpath文件选项。

您可以在this blog post中找到有关它的更多信息。


0
投票

如果要将.m2目录设置为显式目录,则可以通过覆盖默认目录来实现。

  • 所有用户:编辑\conf\settings.xml全局配置文件。将localRepository键的值更改为本地存储库高速缓存的绝对路径。

  • 您的用户:我认为您应该能够在用户设置中设置M2_HOME环境变量。

© www.soinside.com 2019 - 2024. All rights reserved.