如何获取Maven本地回购位置?

jdzmm42g  于 2023-03-29  发布在  Maven
关注(0)|答案(6)|浏览(117)

有办法获取Maven本地存储库位置吗?
使用以下命令可以强制Maven使用特定的设置文件:

mvn -s < path to settings file >

我知道你可以编辑settings.xml文件来设置仓库位置,但是我可以用一些Maven命令来获得当前的默认值吗?

guykilcj

guykilcj1#

如果你只想要本地的repo,试试这个:

mvn help:evaluate -Dexpression=settings.localRepository | grep -v '\[INFO\]'

编辑

多年后我重新审视这一点,因为最近版本的Maven帮助插件为evaluate目标引入了一个有用的参数,称为forceStdout,它允许我们删除grep输出的需要:

mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout
gjmwrych

gjmwrych2#

是的,您可以通过-X--debug选项获得,例如mvn -X

...
[DEBUG] Reading global settings from C:\Maven\conf\settings.xml
[DEBUG] Reading user settings from C:\segphault\.m2\settings.xml
[DEBUG] Using local repository at C:\Repo
...
qnyhuwrf

qnyhuwrf3#

Maven帮助插件将显示本地设置,包括本地存储库路径。
您需要命令:

mvn help:effective-settings

输出将以XML格式显示设置。查找localRepository元素:

<localRepository xmlns="http://maven.apache.org/SETTINGS/1.1.0">/home/jrs/.mavenRepo</localRepository>
5fjcxozz

5fjcxozz4#

meantime中,你可以用更简单的方法来做到这一点:

mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout

您也可以直接使用它来分配一个shell变量,如下所示:

RESULT=$(mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout)

重要提示:使用最新版本的Maven,当然还有最新版本的maven-help-plugin...
这将包含没有新行等的结果。

tkclm6bt

tkclm6bt5#

windows用户

通常是在:C:\Users\USER_NAME\.m2\repository
但是,mvn help:effective-settings命令肯定会在响应xml中显示本地路径。

2nc8po8w

2nc8po8w6#

它应该在/home/.m2目录中,该文件夹可能是隐藏的。因此,您需要Ctrl+H来查看隐藏的文件夹。

相关问题