有没有办法获得Maven本地回购地点?
使用以下命令可以强制Maven使用特定的设置文件:
mvn -s < path to settings file >
Run Code Online (Sandbox Code Playgroud)
我知道您可以编辑settings.xml
文件来设置存储库位置,但是我可以通过一些Maven命令获取当前默认值吗?
adu*_*tra 101
如果您只想要本地仓库,请尝试以下方法:
mvn help:evaluate -Dexpression=settings.localRepository | grep -v '\[INFO\]'
Run Code Online (Sandbox Code Playgroud)
Jus*_*ick 49
是的,您可以使用-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
...
Run Code Online (Sandbox Code Playgroud)
小智 36
Maven帮助插件将显示本地设置,包括本地存储库路径.
你想要的命令:
mvn help:effective-settings
Run Code Online (Sandbox Code Playgroud)
输出将以XML格式显示设置.查找localRepository元素:
<localRepository xmlns="http://maven.apache.org/SETTINGS/1.1.0">/home/jrs/.mavenRepo</localRepository>
Run Code Online (Sandbox Code Playgroud)
khm*_*ise 13
在此期间,您可以通过以下更简单的方式进行操作:
mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout
Run Code Online (Sandbox Code Playgroud)
您也可以直接使用它来分配该shell变量,如下所示:
RESULT=$(mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout)
Run Code Online (Sandbox Code Playgroud)
重要说明:请使用最新版本的Maven,当然也应使用最新版本的Maven-help-plugin ...
这将包含结果,而没有新行等。
通常它在:C:\Users\USER_NAME\.m2\repository
。
但是,该mvn help:effective-settings
命令肯定会在响应 xml 中显示本地路径。