2011-05-06 96 views
57

有没有办法获得Maven本地回购地点?如何获得Maven本地回购地点?

使用以下命令可以强制Maven来使用特定的设置文件:

mvn -s < path to settings file > 

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

回答

68

如果你只想在本地回购,试试这个:

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

我想你打算''| grep -v'\ [INFO \]''你的正则表达式有令人讨厌的副作用。 – kubanczyk 2016-03-19 20:27:26

+0

两个版本都适合我,你是什么意思的“讨厌的副作用”? – adutra 2016-03-24 18:09:19

+3

@adutra你的正则表达式指定一个匹配组,由大写字母I,N,F和O组成。因此,它将匹配以下任一行:INFO,OFNI,I,F,N等。试试'echo - e“INFO \ nOFNI \ nI \ nIfoobar”| grep'[INFO]'' – pmr 2016-04-07 08:58:22

35

是的,您可以通过选项-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 
... 
29

Maven Help插件将显示本地设置,包括本地存储库路径。

你想要的命令:

mvn help:effective-settings 

输出将显示在XML格式设置。认准localRepository元素:

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

它应该是在/home/.m2目录,文件夹可能是隐藏的。所以,你需要按Ctrl + H来查看隐藏的文件夹。

+0

非常感谢。 – Peter 2016-02-18 16:21:04

+0

@Peter这是我的荣幸! – 2016-03-09 18:52:16

0

通常它是C:\ Users \ USER_NAME \ .m2 \ repository。然而,“mvn help:effective-settings”命令肯定会显示响应xml的本地路径。