更改 maven settings.xml 位置并自动传递 -s
Change maven settings.xml location and pass -s automatically
简介
我将我的 settings.xml 文件移动到只有我可以访问的安全网络共享。
下一步是加密文件中的各种凭据。
不幸的是,现在当我 运行 mvn 时,我每次都需要指定位置,例如:
mvn -s Z:\CONFIG\settings.xml
尝试解决方案 - 别名
我尝试在 CMDER 中创建一个 alis,但我总是得到一个 goal not specfied error
。
例如在 user_aliases.cmd 中,我添加了以下尝试:
mvn1=echo "Using custom cmder alias (cmder user_aliases.cmd) : mvn -s Z:\CONFIG\settings.xml " & mvn -s Z:\CONFIG\settings.xml
mvn2=mvn -s Z:\CONFIG\settings.xml
它们都因目标未通过的错误而失败。
所以这是争论没有通过的问题。
有人有永久硬编码此位置的解决方案吗???
更新
我目前的解决方案是编辑 mvn.cmd 文件本身。
我添加了类似下面的东西,它起作用了......
尽管它破坏了其他任何想使用它的人的 mvn:
echo "Modified mvn.cmd to add custom path mvn -s Z:\CONFIG\settings.xml "
"%JAVACMD%" ^
%JVM_CONFIG_MAVEN_PROPS% ^
%MAVEN_OPTS% ^
%MAVEN_DEBUG_OPTS% ^
-classpath %CLASSWORLDS_JAR% ^
"-Dclassworlds.conf=%MAVEN_HOME%\bin\m2.conf" ^
"-Dmaven.home=%MAVEN_HOME%" ^
"-Dlibrary.jansi.path=%MAVEN_HOME%\lib\jansi-native" ^
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
%CLASSWORLDS_LAUNCHER% -s Z:\CONFIG\settings.xml %MAVEN_CMD_LINE_ARGS%
if ERRORLEVEL 1 goto error
goto end
我可以将 maven 复制到我的 Z 驱动器(安全)并调用它来避免所有这些。
我尝试了两个都有效的解决方案:
将 maven 移动到具有权限的文件夹
一个解决方案是将 maven 直接移动到受保护的隔离文件夹,例如共享网络文件夹(具有适当的权限)或用户文件夹。
编辑 mvn cmd 文件
我自己编辑了 mvn.cmd 文件。
我添加了类似下面的东西,它起作用了......
警告:对于其他想要使用它的人来说,它会破坏 mvn。因此,只有在不考虑这一点时才使用。
echo "Modified mvn.cmd to add custom path mvn -s Z:\CONFIG\settings.xml "
"%JAVACMD%" ^
%JVM_CONFIG_MAVEN_PROPS% ^
%MAVEN_OPTS% ^
%MAVEN_DEBUG_OPTS% ^
-classpath %CLASSWORLDS_JAR% ^
"-Dclassworlds.conf=%MAVEN_HOME%\bin\m2.conf" ^
"-Dmaven.home=%MAVEN_HOME%" ^
"-Dlibrary.jansi.path=%MAVEN_HOME%\lib\jansi-native" ^
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
%CLASSWORLDS_LAUNCHER% -s Z:\CONFIG\settings.xml %MAVEN_CMD_LINE_ARGS%
if ERRORLEVEL 1 goto error
goto end
简介
我将我的 settings.xml 文件移动到只有我可以访问的安全网络共享。 下一步是加密文件中的各种凭据。
不幸的是,现在当我 运行 mvn 时,我每次都需要指定位置,例如:
mvn -s Z:\CONFIG\settings.xml
尝试解决方案 - 别名
我尝试在 CMDER 中创建一个 alis,但我总是得到一个 goal not specfied error
。
例如在 user_aliases.cmd 中,我添加了以下尝试:
mvn1=echo "Using custom cmder alias (cmder user_aliases.cmd) : mvn -s Z:\CONFIG\settings.xml " & mvn -s Z:\CONFIG\settings.xml
mvn2=mvn -s Z:\CONFIG\settings.xml
它们都因目标未通过的错误而失败。
所以这是争论没有通过的问题。
有人有永久硬编码此位置的解决方案吗???
更新
我目前的解决方案是编辑 mvn.cmd 文件本身。
我添加了类似下面的东西,它起作用了...... 尽管它破坏了其他任何想使用它的人的 mvn:
echo "Modified mvn.cmd to add custom path mvn -s Z:\CONFIG\settings.xml "
"%JAVACMD%" ^
%JVM_CONFIG_MAVEN_PROPS% ^
%MAVEN_OPTS% ^
%MAVEN_DEBUG_OPTS% ^
-classpath %CLASSWORLDS_JAR% ^
"-Dclassworlds.conf=%MAVEN_HOME%\bin\m2.conf" ^
"-Dmaven.home=%MAVEN_HOME%" ^
"-Dlibrary.jansi.path=%MAVEN_HOME%\lib\jansi-native" ^
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
%CLASSWORLDS_LAUNCHER% -s Z:\CONFIG\settings.xml %MAVEN_CMD_LINE_ARGS%
if ERRORLEVEL 1 goto error
goto end
我可以将 maven 复制到我的 Z 驱动器(安全)并调用它来避免所有这些。
我尝试了两个都有效的解决方案:
将 maven 移动到具有权限的文件夹
一个解决方案是将 maven 直接移动到受保护的隔离文件夹,例如共享网络文件夹(具有适当的权限)或用户文件夹。
编辑 mvn cmd 文件
我自己编辑了 mvn.cmd 文件。
我添加了类似下面的东西,它起作用了......
警告:对于其他想要使用它的人来说,它会破坏 mvn。因此,只有在不考虑这一点时才使用。
echo "Modified mvn.cmd to add custom path mvn -s Z:\CONFIG\settings.xml "
"%JAVACMD%" ^
%JVM_CONFIG_MAVEN_PROPS% ^
%MAVEN_OPTS% ^
%MAVEN_DEBUG_OPTS% ^
-classpath %CLASSWORLDS_JAR% ^
"-Dclassworlds.conf=%MAVEN_HOME%\bin\m2.conf" ^
"-Dmaven.home=%MAVEN_HOME%" ^
"-Dlibrary.jansi.path=%MAVEN_HOME%\lib\jansi-native" ^
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
%CLASSWORLDS_LAUNCHER% -s Z:\CONFIG\settings.xml %MAVEN_CMD_LINE_ARGS%
if ERRORLEVEL 1 goto error
goto end