我正在尝试通过Maven版本插件更新我的依赖项,但由于它没有通过我的代理,因此无法这样做。
mvn versions:update-properties
我的防火墙日志显示它试图直接连接到Internet时正在断开端口443上的连接;但是,我在〜/ .m2 / settings.xml中指定了一个代理:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<proxies>
<proxy>
<host>${HOSTNAME_GOES_HERE}</host>
<port>${PORT_GOES_HERE}</port>
<active>true</active>
</proxy>
</proxies>
是否可以在不更改防火墙规则的情况下使其正常工作?
谢谢
沃尔特
答案 0 :(得分:1)
似乎 versions-maven-plugin
在代理设置中使用的协议标签有误。在我将协议标记更改为 https
后,versions-maven-plugin
按预期使用了我的代理服务器:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<proxies>
<proxy>
<host>${HOSTNAME_GOES_HERE}</host>
<port>${PORT_GOES_HERE}</port>
<protocol>https</protocol>
<active>true</active>
</proxy>
</proxies>
</settings>
这确实符合以下 Github 问题:https://github.com/mojohaus/versions-maven-plugin/issues/421
然而,这并不反映 Maven 预期的用法。此答案表明协议标记适用于 proxy-server
而不是 target-url
的协议:https://stackoverflow.com/a/52508940/5945416
Maven 对我来说工作得非常好,协议标签设置为 https 而不是 http 并且版本插件在我切换回 http 后立即出现问题,因此我将保留它。
测试: