我正在使用Maven 3.0,并且我的.m2
文件夹位置是C:\Users\me\.m2
。
但是,我没有对该文件夹的写访问权,但是我想从中定义的位置更改存储库位置settings.xml
。
由于访问受限,我无法编辑settings.xml
来更改存储库的位置。
如何settings.xml
在.m2
不编辑C:\Users\me\.m2\conf\settings.xml
文件的情况下覆盖我的值-或更改文件夹的默认位置?
我正在使用Maven 3.0,并且我的.m2
文件夹位置是C:\Users\me\.m2
。
但是,我没有对该文件夹的写访问权,但是我想从中定义的位置更改存储库位置settings.xml
。
由于访问受限,我无法编辑settings.xml
来更改存储库的位置。
如何settings.xml
在.m2
不编辑C:\Users\me\.m2\conf\settings.xml
文件的情况下覆盖我的值-或更改文件夹的默认位置?
Answers:
您需要将此行添加到您的行中settings.xml
(或取消注释(如果已经存在))。
<localRepository>C:\Users\me\.m2\repo</localRepository>
也可以使用以下命令运行命令mvn clean install -gs C:\Users\me\.m2\settings.xml
-此参数将强制maven使用settings.xml
与默认命令不同的命令(位于中$HOME/.m2/settings.xml
)
.m2
全局设置其他位置,则需要修改$HOME/.m2/settings.xml
,但我不知道还有其他方法可以实现此目的。
有趣的是,其他答案忽略了您无法写入该文件的事实...
有迹象表明,我想起了几个解决方法,可以帮助使用任意C:\redirected\settings.xml
并且使用mvn
命令如常后幸福快乐的日子。
mvn
别名在Unix Shell中(或在Cygwin上),您可以创建
alias mvn='mvn --global-settings "C:\redirected\settings.xml"'
因此,当您mvn blah blah
从任何地方调用配置时,都会“自动”进行配置。
请参阅如何在中创建别名cmd
?如果您想这样做,但没有Unix shell。
mvn
包装纸配置环境,以便mvn
在命令行中键入时可解析为包装器脚本:
MVN_HOME/bin
或M2_HOME/bin
您,PATH
所以mvn
不再解决。PATH
(或使用现有文件夹)在该文件夹中创建一个mvn.bat
包含以下内容的文件:
call C:\your\path\to\maven\bin\mvn.bat --global-settings "C:\redirected\settings.xml" %*
注意:如果您希望某些项目的行为有所不同,则可以mvn.bat
在与该文件夹相同的文件夹中进行创建,pom.xml
这样在纯运行时mvn
它将解析为本地文件夹。
您where mvn
可以随时使用来检查解析方式,键入时将运行第一个mvn
。
mvn.bat
骇客如果您具有的写入权限C:\your\path\to\maven\bin\mvn.bat
,请编辑文件并添加set MAVEN_CMD_LINE_ARG
至:runm2
零件:
@REM Start MAVEN2
:runm2
set MAVEN_CMD_LINE_ARGS=--global-settings "C:\redirected\settings.xml" %MAVEN_CMD_LINE_ARGS%
set CLASSWORLDS_LAUNCHER=...
mvn.sh
骇客为了完整起见,您也可以C:\your\path\to\maven\bin\mvn
通过更改exec "$JAVACMD"
命令的
${CLASSWORLDS_LAUNCHER} "$@"
一部分
${CLASSWORLDS_LAUNCHER} --global-settings "C:\redirected\settings.xml" "$@"
作为IT部门的人,您无法访问自己的主文件夹很可笑,对我来说,这构成了您所在公司的能力不足:这等同于雇用某人进行软件开发,但甚至没有提供可以使用notepad.exe或Microsoft Word以外的任何其他文件来编辑源文件。我建议与您的服务台或管理员联系,并要求至少对该特定文件具有写权限,以便您可以更改本地存储库的路径。
免责声明:这些都没有针对此特定用例进行过测试,但是我之前已成功将它们全部用于其他各种软件。
没有人建议这样做,但是您可以使用-Dmaven.repo.local
命令行参数来更改存储库所在的位置。此外,根据settings.xml
文档,您可以设置-Dmaven.home
查找settings.xml
文件的位置。
请参阅:Settings.xml文档
以下是MAVEN_HOME \ conf \ settings.xml中默认情况下Maven软件中的配置。
<settings>
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ~/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
在此配置下添加以下行,即可满足要求。
<localRepository>custom_path</localRepository>
例如: <localRepository>D:/MYNAME/settings/.m2/repository</localRepository>