Maven - 替代.m2目录

Roy*_*ove 23 maven

如何全局更改maven .m2目录的位置?

Maven ${user.home}/.m2用于它的设置,存储库缓存等.

我知道我可以:

  • 指向存储库缓存的不同目录(通过更改localRepository我的全局配置文件中的属性),但不指向其他任何目录(settings.xml例如).
  • 使用-sCLI选项,但每次使用maven时我都必须这样做.

但理想情况下,我想要一个全球解决方案.直觉上应该是可能的..

我想这样做是因为我的公司将我的$ {user.home}设置为容易出现网络问题的共享驱动器.

dbr*_*708 50

使用MAVEN_OPTS环境变量设置存储库的位置.在shell启动时设置它,并且不必每次都将它放在命令行上.

export MAVEN_OPTS="-Dmaven.repo.local=/path/to/repository"
Run Code Online (Sandbox Code Playgroud)

你说你想改变.m2settings.xml文件以及该repository目录.您想要设置M2_HOME环境变量.在Maven的设置文件说,它还控制Maven的查找settings.xml.从那里,您可以控制存储库位置等.

  • M2_HOME 以前需要设置Maven的安装目录。这不再需要和劝阻。有关 M2_HOME 的答案中的信息完全错误,链接的文档根本不表明您的答案。您的解决方案不会更改有关设置文件位置的任何内容,因此答案实际上是错误的。 (2认同)

Man*_*ser 13

最好的选择是在使用Maven指向计算机上的本地文件夹之前,先在您的user.home中创建.m2作为符号链接.

否则,您可以为mvn创建一个shell别名,名为mymvn(或m3或其他),它传入-s以及本地repo位置.