将Maven的本地存储库位置指定为CLI参数

lis*_*sak 114 maven

是否可以在Maven命令行上将本地Maven存储库的位置设置为参数?

问题是我没有使用默认的~/.m2/repository.但是我检查了一些正在使用自己的设置构建的项目-s settings.xml.那个settings.xml没有指定我的本地存储库,所以Maven ~/.m2/repository再次使用了...我想使用一个非默认的本地存储库位置,而不必<localRepository>在项目的settings.xml中添加一个元素

我试过了

  • -DlocalRepository="..."
  • $mvn invoker:run -s settings.xml clean install -DskipTests -DlocalRepositoryPath=
  • -Dsettings.localRepository

但这些选项都不起作用.

所以我想我必须决定是否要修改第三方settings.xml或将我的本地仓库移动到 ~

Pet*_*lka 232

使用maven属性maven.repo.local:

mvn -Dmaven.repo.local=$HOME/.my/other/repository clean install

不需要修改settings.xml.

  • 本地存储库必须是绝对路径,https://maven.apache.org/guides/mini/guide-configuring-maven.html. (8认同)
  • 在Windows上使用`mvn -D“ maven.repo.local” =%USER_HOME%/。my / other / repository全新安装` (2认同)
  • @powder366 环境变量?`MAVEN_OPTS=-D"maven.repo.local"=%USER_HOME%/.my/other/repository` 可能有效。或者`~/.mavenrc`? (2认同)

小智 7

对于git:

alias mvn='mvn "-Dmaven.repo.local=$(git rev-parse --show-toplevel)/.m2/repository"'
Run Code Online (Sandbox Code Playgroud)

这在每个git存储库中使用单独的maven存储库