java代理似乎在默默地失败。如何让它大声失败?

时间:2016-06-15 19:54:23

标签: java maven proxy

我写了一个执行网络活动的maven插件。当我运行它时,我传递参数来表明它应该使用代理。

mvn myplugin:goal -Dhttps.proxyHost=nonexistent-site.com -Dhttps.proxyPort=8000

即使我将其指向不存在的代理,也会成功。它似乎绕过了代理,只是在代理不好的情况下直接进行网络调用。 (无论如何,这是我的理论。可能是我甚至没有正确设置代理)

我还编辑了maven settings.xml并添加了错误的代理主机,但它也无声地失败。

如果我将参数添加到MAVEN_OPTS

,则相同

如果代理错误,如何使网络呼叫失败?

1 个答案:

答案 0 :(得分:0)

我只是想出了问题,感谢@Tunaki。

原来我使用的库(com.mashape.unirest.http.Unirest)不尊重java代理设置。该问题已在@Tunaki上述评论中记录/链接。

这里的教训是,如果您使用的网络库不是jdk的一部分,请确保它尊重Java设置。 在Unirest的情况下,我不得不像这样手动创建代理

HttpHost proxy = new HttpHost(System.getProperty("https.proxyHost")
                              , new Integer(System.getProperty("https.proxyPort")));
Unirest.setProxy(proxy);

我不确定这个问题或答案是否对任何人都有帮助。如果它适用的话,我现在就把它留在这里。但是如果有人评论我应该删除这个或者我得到几个downvotes,我会删除这个问题。