Command line Maven:如何通过命令行激活非活动代理?

Command line Maven:如何通过命令行激活非活动代理?,command-line,maven-2,proxy,Command Line,Maven 2,Proxy,我通过peruser settings.xml文件为Maven配置了一个代理服务器。default settings.xml模板的文档表明,可以通过命令行开关影响使用哪个配置的代理: 然而,我没有找到任何关于这应该如何工作的文档。有非常相同的模板,但没有提到任何命令行开关或其他 因此,假设我配置了一个代理,但标记为false,如本例所示: 第一代理 假的 http proxy.example.invalid 3128 根据评论,可能会有一些方法来“激活”它,可能会给出它的id或类似的东西

我通过peruser settings.xml文件为Maven配置了一个代理服务器。default settings.xml模板的文档表明,可以通过命令行开关影响使用哪个配置的代理:


然而,我没有找到任何关于这应该如何工作的文档。有非常相同的模板,但没有提到任何命令行开关或其他

因此,假设我配置了一个代理,但标记为
false
,如本例所示:


第一代理
假的
http
proxy.example.invalid
3128
根据评论,可能会有一些方法来“激活”它,可能会给出它的id或类似的东西。使用
mvn-Dproxies.proxy.firstProxy.active=true java:compile
尝试“显而易见”的方法,但没有成功


我对Maven很陌生,我无法摆脱那种感觉,我在某种程度上找错了方向。我想做的事情可能吗?如果可能的话,有人能告诉我怎么做,或者我是在浪费时间吗?

正如@khmarbaise所建议的:

使用许多settings.xml,例如将它们放在projectroot中

mvn package -s setings.A.xml

mvn package -s setings.B.xml

为什么需要通过命令行激活/停用代理?我在几个不同的网络中工作。有些不需要代理,有些则需要,所以我不得不不断地切换代理。看到“active”标志,我认为这是在它们之间切换的一种相当好的方式,因为Maven不幸地似乎并不关心$HTTP_PROXY…为什么不签入.m2区域(没有存储库)并在git中创建一个表示另一个区域的分支呢。这将使改变变得非常容易。我已经在做类似的事情,但感觉这是一个更丑陋的解决办法。这就是为什么我想知道是否有任何方法可以利用上面的
标志。在不同的机器上更改版本控制工具控制的配置有什么难看的。