【发布时间】:2020-09-23 09:50:24
【问题描述】:
简介
我将我的 settings.xml 文件移动到只有我可以访问的安全网络共享中。 下一步是加密文件中的各种凭据。
不幸的是,现在当我运行 mvn 时,我每次都需要指定位置,例如:
mvn -s Z:\CONFIG\settings.xml
解决方案尝试 - 别名
我尝试在 CMDER 中创建一个别名,但我总是得到一个 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 驱动器(安全)并调用它来避免所有这些。
【问题讨论】:
-
您想通过将
settings.xml放在非标准位置来解决哪个问题? -
@J Fabian Meier 这是我目前正在使用的共享虚拟 PC,但其他人可以访问。所以首先,我不希望我的凭据被复制(这可以通过使用加密来解决),其次 - 我不希望设置文件本身被复制。使用安全的网络共享可以兼顾两者(有点......将加密)。我想我可以从一个安全的共享文件夹中使用我自己的 maven 版本
-
其他人有权访问您的用户目录?
-
@J Fabian Meier 是的,因为每个人在特定机器上都有管理员权限。
-
在这台机器上构建听起来是个坏主意。