如何全局更改maven .m2
目录的位置?
Maven使用${user.home}/.m2
进行设置,存储库缓存等。
我知道我可以:
localRepository
属性),但不是其他任何目录(例如settings.xml
)。-s
CLI选项,但每次使用maven时我都必须这样做。但理想情况下,我喜欢全球解决方案。直觉上应该是可能的..
我想这样做是因为我的公司将我的$ {user.home}设置为容易出现网络问题的共享驱动器。
答案 0 :(得分:44)
使用MAVEN_OPTS
环境变量设置存储库的位置。在shell启动时设置它,并且不必每次都将它放在命令行上。
export MAVEN_OPTS="-Dmaven.repo.local=/path/to/repository"
您说您想要更改.m2
文件的settings.xml
以及repository
目录。您想要设置M2_HOME
环境变量。 Maven settings documentation表示它控制着Maven查找settings.xml
的位置。从那里,您可以控制存储库位置等。
答案 1 :(得分:13)
最好的选择是在使用Maven指向计算机上的本地文件夹之前,先在您的user.home中创建.m2作为符号链接。
否则你可以为mvn创建一个shell别名,名为mymvn(或m3或其他),它传入-s以及本地repo位置。
答案 2 :(得分:-2)
还有一个用例,但是如果你使用Jenkins,你可以设置r8.jar
标志,Jenkins会为你做这件事。
选中此选项后,Jenkins将告诉Maven使用$ WORKSPACE / .repository作为本地Maven存储库。这意味着每个作业都将为自己获得自己独立的Maven存储库。
答案 3 :(得分:-3)
您需要找到您的settings.xml文件,然后修改<localRepository>/path/to/local/repo</localRepository>