环境需要设置代理才能够访问外部网络,如果只是运行java程序来访问网络,我们可以通过java -jar test.jar -DproxyHost=proxy_ip -DproxyPort=proxy_port,但如果是java的maven项目中,单元测试需要访问网络,只执行mvn test则会导致单元测试的代码无法访问网络。Maven单元测试,使用的是Surefire Maven插件。当Surefire插件fork JVM时,并不会继承所有的系统属性。其中,${url}、{port}、${user}和${pass}分别是代理服务器的地址、端口,代理用户和密码。

浅谈maven单元测试设置代理