我正在尝试根据this article中的说明从源构建hadoop。在构建Apache common时,一切都会失败,并显示以下错误消息:command line too long
。因此,这是我尝试的两个修复程序:
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
错误的错误仍然存在。 如何解决此问题并成功构建hadoop?
您是否正在使用IntelliJ?
由于在IntelliJ中,您可以使用一些选项来缩短命令行。转到运行/调试配置。缩短命令行,可以尝试使用classpath文件选项。
您可以在this blog post中找到有关它的更多信息。
如果要将.m2
目录设置为显式目录,则可以通过覆盖默认目录来实现。
所有用户:编辑\conf\settings.xml
全局配置文件。将localRepository
键的值更改为本地存储库高速缓存的绝对路径。
您的用户:我认为您应该能够在用户设置中设置M2_HOME
环境变量。