Ustawienia proxy ustawione w programie Eclipse wpłyną na wszystkie narzędzia, w tym samo środowisko Eclipse i Maven. To może być powód, dla którego "wisiałeś" ... może to nie był twój test JUnit, ale sam wieszak (potrzeba wyjaśnienia).
Jednak w tym przypadku wydaje mi się, że można zmienić właściwości systemu z poziomu wtyczki odpowiedzialnej za testy JUnit:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<systemPropertyVariables>
<java.net.useSystemProxies>true</java.net.useSystemProxies>
</systemPropertyVariables>
</configuration>
</plugin>
[UPDATE]
w niektórych przypadkach właściwość systemu jest używany tylko podczas uruchamiania i działa tylko po ustawieniu go w wierszu polecenia.W takim przypadku, you can supply it as part of the command-line arguments:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<argLine>-Djava.net.useSystemProxies=true</argLine>
</configuration>
</plugin>
Należy również pamiętać, że jeśli chcesz, aby uruchomić go od wewnątrz Maven, musisz wybrać 'Uruchom jako -> test Maven', a nie 'Run as -> JUnit test'.
[ranting Follows]
Nienawidzę tego mówić - ale w tym momencie wsparcie dla proxy jest naprawdę biedny ciągu Java.
Dokonano jeszcze jednego znaczącego ulepszenia: teraz możesz zdefiniować oddzielny serwer proxy dla każdego połączenia, które chcesz ustanowić. Myślę jednak, że powinno to zostać poprawione przez wiele:
- Oddzielna uwierzytelnianie za pełnomocnika. Teraz, mimo że mogę zdefiniować serwer proxy na połączenie, nienaturalne jest używanie tego samego uwierzytelnienia dla wszystkich. Co gorsza, uruchamia to samo uwierzytelnianie zarówno dla połączenia proxy, jak i HTTP: nie jest w stanie rozróżnić tych dwóch nawet.
- Lepsze wsparcie dla serwerów proxy SOCKS
- Lepsza obsługa zapytań systemu o konfigurację proxy. Każdy nowoczesny system operacyjny ma teraz konfigurację domyślnego serwera proxy.
- Wbudowane wsparcie i interfejsy API dla rzeczywistych serwerów Socket.
Brzmi jak wyrocznia rozczarowanego programisty, ale odpowiedź polega na ich realizacji! Czy to jest godne JEP?
Wydrukuj zawartość System.getEnv() i System.getProperties() na standardowe wyjście w przypadku metody głównej, a w przypadku JUnit i porównaj je. Będzie pewna pewna różnica, która powoduje ten problem. –
Jak skonfigurować serwer proxy? –
http://windows.microsoft.com/en-us/windows/change-internet-explorer-proxy-server-settings#1TC=windows-7 –