Jak używać Maven przez proxy?

132

Chcę podzielić się swoim doświadczeniem w korzystaniu z Mavena przez proxy.

Najprawdopodobniej spotkasz się z wyjątkami i wiadomościami typu:

Nie można pobrać metadanych repozytorium dla: „org.apache.maven.plugins” 
repozytorium: centralne z powodu błędu: Błąd podczas przesyłania pliku: Odmowa połączenia: połączenie

lub

[OSTRZEŻENIE] Nie udało się pobrać deskryptora wtyczki dla org.apache.maven.plugins: maven-clean-
plugin: 2.5: Plugin org.apache.maven.plugins: maven-clean-plugin: 2.5 lub jedna z jego 
nie można rozwiązać zależności: nie można odczytać deskryptora artefaktu dla 
org.apache.maven.plugins: maven-clean-plugin: jar: 2.5

Jak skonfigurować Maven do korzystania z serwera proxy?

Bogdana
źródło
(Ktoś) Mógłbyś przeformułować to w rzeczywiste pytanie (na przykład: Jak używać Mavena przez proxy?)? Następnie możesz opublikować treść pytania jako odpowiedź, aby być bardziej zintegrowanym z formatem StackOverflow.
Tim
Przeformułowałem to dla Ciebie Bogdan, jeśli chcesz, prześlij swoją oryginalną treść jako odpowiedź
bogaty sprzedawca
wygląda na to, że edytowaliśmy w tym samym czasie
bogaty sprzedawca

Odpowiedzi:

146

Aby uzyskać szczegółowe informacje na temat konfigurowania serwera proxy dla Maven, zobacz mini przewodnik .

Zasadniczo musisz upewnić się, że sekcja proxy w ustawieniach globalnych ( [maven install]/conf/settings.xml) lub ustawieniach użytkownika ( ${user.home}/.m2/settings.xml) jest poprawnie skonfigurowana. Lepiej jest to zrobić w ustawieniach użytkownika, aby uniknąć przechowywania hasła w postaci zwykłego tekstu w publicznej lokalizacji.

Maven 2.1 wprowadził szyfrowanie haseł , ale nie udało mi się sprawdzić, czy szyfrowanie dotyczy zarówno ustawień proxy, jak i haseł repozytorium (nie widzę jednak, dlaczego by nie miał).

Aby uzyskać więcej informacji, w pliku settings.xml znajduje się zakomentowana konfiguracja serwera proxy oraz instrukcje dotyczące jej modyfikacji.

Z mini przewodnika Twoje ustawienia powinny wyglądać mniej więcej tak:

<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>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.somewhere.com</host>
      <port>8080</port>
      <username>proxyuser</username>
      <password>somepassword</password>
      <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
    </proxy>
  </proxies>
[...]
</settings>
Bogaty sprzedawca
źródło
Dzięki, ale ten post to raczej wskazówka dla innych niż pytanie. Rozwiązałem już ten problem, ale spędziłem zbyt dużo czasu na rzeczach nieoczywistych. Opublikowałem to, żeby to komuś się przydało.
Bogdan
7
nie mogę znaleźć pliku setting.xml w katalogu m2. jakiś pomysł, dlaczego? @ Bogaty sprzedawca
Ariox66
5
Musisz to tam umieścić. Przykładowy plik settings.xml można znaleźć w maven_home, miejscu, w którym rozpakowano pliki binarne maven.
Ravi
A jeśli proxy nie wymaga uwierzytelnienia, elementy <username>i <password>muszą zostać usunięte (bez podania pustej zawartości). Zajęło mi to trochę czasu, zanim zrozumiałem.
dmcontador
51

Jak korzystać z serwera proxy skarpet?

Skonfiguruj gdzieś tunel SSH do serwera:

ssh -D $PORT $USER@$SERVER

Linux (bash):

export MAVEN_OPTS="-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=$PORT"

Okna:

set MAVEN_OPTS="-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=$PORT"
gs1
źródło
2
Korzystanie z serwera proxy Socks MAVEN_OPTSto jedyny sposób na pobranie Mavena przez HTTPS. Korzystanie z serwerów proxy HTTP lub HTTPS, za pośrednictwem MAVEN_OPTSlub settings.xml, powodujeorg.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec execute INFO: I/O exception (java.net.SocketException) caught when processing request to {tls}->http://proxy.mycompany.com:911->https://repo.maven.apache.org:443: SOCKS: TTL expired
Mihai Capota,
Dla httppełnomocnika:export MAVEN_OPTS="-DproxyHost=127.0.0.1 -DproxyPort=$PORT"
Omid
Wspaniale dzięki. Jeśli chcesz użyć tych opcji tylko raz dla jednego polecenia, możesz wpisać: MAVEN_OPTS="-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080" mvn clean installNastępne mvnpolecenia w tej samej sesji będą bez serwera proxy.
Eric Duminil
29

Miałem też ten problem i rozwiązałem go edytując settings.xmlplik w moim .m2folderze. Moje settings.xmljest teraz takie:

<settings>
  <proxies>
    <proxy>
      <id>genproxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxyHost</host>
      <port>3128</port>
      <username>username</username>
      <password>password</password>
    </proxy>
 </proxies>
</settings>
pedrobisp
źródło
1
To nie jest pobieranie plików jar w moim przypadku. Próbowałem wszystkiego
Faizan Mubasher
28

Zauważ również, że niektóre wtyczki (przychodzą na myśl zdalne zasoby) używają naprawdę starej biblioteki, która akceptuje konfigurację proxy tylko przez MAVEN_OPTS;

-Dhttp.proxyHost=<host> -Dhttp.proxyPort=<port> -Dhttps.proxyHost=<host> -Dhttps.proxyPort=<port>

W tym przypadku możesz utknąć na autoryzacji.

krosenvold
źródło
Nie działało dla mnie na Ubuntu 14.04 z maven 3.0.5 z repozytorium Ubuntu. Konfiguracja proxy w pliku settings.xml zadziałała.
Mihai Capota
1
Pracował dla mnie na Ubuntu 14.04 z Maven 3.0.4
rmv
Przykładem potrzeby ustawienia MAVEN_OPTS w ten sposób jest zbudowanie Mavena ze źródła przy użyciu Mavena. Bez MAVEN_OPTS nie można pobrać LICENSE-2.0, pomimo pobierania wielu plików JAR.
Permaquid
@krosenvold dziękuję, to rozwiązanie zadziałało dla mnie. Ustawiłem już proxy w settings.xml, ale istniała wtyczka cxf, która chciała wygenerować kod z wsdl, co kończyło się niepowodzeniem. To rozwiązało mój problem.
Vishal Vijayan
23

Aby ustawić serwer proxy Maven :

Edytuj sesję proxy w pliku ~ / .m2 / settings.xml . Jeśli nie możesz znaleźć pliku, utwórz go.

<settings>
<proxies>
    <proxy>
        <id>httpproxy</id>
        <active>true</active>
        <protocol>http</protocol>
        <host>your-proxy-host</host>
        <port>your-proxy-port</port>
        <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
<proxy>
        <id>httpsproxy</id>
        <active>true</active>
        <protocol>https</protocol>
        <host>your-proxy-host</host>
        <port>your-proxy-port</port>
        <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>

</proxies>
</settings>

lub

Edytuj sesję proxy w swoim {M2_HOME} /conf/settings.xml

Mam nadzieję, że to pomoże.. :)

Sarat Chandra
źródło
15

Są to najprawdopodobniej spowodowane 2 problemami:

  1. Musisz dodać konfigurację proxy do pliku settings.xml. Oto sztuczka w polu Twojej nazwy użytkownika. Upewnij się, że wygląda jak domena \ nazwa użytkownika. Ustawienie tam domeny i dokładne umieszczenie tego ukośnika jest ważne „\”. Możesz użyć tagu <! [CDATA []]>, jeśli twoje hasło zawiera znaki nieobsługiwane przez XML.
  2. Zauważyłem, że maven 2.2.0 czasami w ogóle nie działa przez proxy, gdzie 2.2.1 działa doskonale.

Jeśli niektóre z nich zostaną pominięte - maven może zawieść i wyświetlić losowe komunikaty o błędach.

Mam tylko nadzieję, że uratowałem kogoś przed szukaniem w Google tego problemu przez 6 godzin, tak jak ja.

Bogdana
źródło
Czy używasz serwera proxy NTLM? z mini przewodnika: „Należy pamiętać, że obecnie [c] serwery proxy NTLM nie są obsługiwane, ponieważ nie zostały przetestowane. Aby to zadziałało, można użyć odpowiednich właściwości systemowych na JDK 1.4+”.
Bogaty sprzedawca
Nie jestem tego pewien. To korporacyjny pełnomocnik, który faktycznie znajduje się 600 mil ode mnie i nikt z administratorów systemu nie jest w biurze w ten weekend. Więc nie mogę teraz nikogo pytać. Ciekawie będzie się dowiedzieć. Wiem, że obsługuje http, socks i inne protokoły. Może to też NTML.
Bogdan
14

Dodam tylko moje własne doświadczenia z tym: proxy mojej firmy to http://webproxy.intra.companyname.com:3128. Aby maven działał za pośrednictwem tego proxy, ustawienia muszą być dokładnie takie

<settings>
  <proxies>
    <proxy>
      <id>default</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>webproxy.intra.companyname.com</host>
      <port>3128</port>
    </proxy>
  </proxies>
</settings>

W przeciwieństwie do innych plików konfiguracyjnych proxy, protocoltutaj opisano, jak połączyć się z serwerem proxy, a nie jakie rodzaje protokołów powinny być używane przez proxy. httpCzęść tarczy musi być podzielona off z hosta, bo inaczej nie zadziała.

Andy Jones
źródło
W tym czasie po prostu eksperymentowałem odwrotnie. Protokół tutaj służy do opisania, który protokół powinien używać tego serwera proxy. Właśnie udało mi się skonfigurować serwer proxy protokołu https, który łączy się z serwerem proxy http za pomocą <protocol> https </protocol>
Olivier Amblet
Dziękuję Ci! To zadziałało dla mnie! Miałem pre-pended „http: //” i to się nie powiedzie
Jesse McCall
11

Dzięki @krosenvold.

Jeśli zmiany w pliku ustawień nie działają, wypróbuj to w wierszu polecenia mając plik POM.

mvn install -Dhttp.proxyHost=abcproxy -Dhttp.proxyPort=8080 -Dhttps.proxyHost=abcproxy -Dhttps.proxyPort=8080

Pomogło mi to natychmiast po zmianie hasła.

user1189363
źródło
11

Biegnę cntlmlokalnie, skonfigurowany z NTLMv2mieszań haseł do uwierzytelniania serwera proxy korporacyjnej i wykorzystanie

export MAVEN_OPTS="-DproxyHost=127.0.0.1 -DproxyPort=3128"

używać tego serwera proxy z maven. Oczywiście serwer proxy, którego używasz, powinien obsługiwać cntlm/ NTLMv2.

Peter Hofman
źródło
`ustaw MAVEN_OPTS = -DproxyHost = 127.0.0.1 -DproxyPort = 3128` dla systemu Windows
qxo
PowerShell może ustawić zmienną środowiskową systemu: [Environment]::SetEnvironmentVariable("MAVEN_OPTS", "-DproxyHost=127.0.0.1 -DproxyPort=3128", "Machine")
Boggin
6

A żeby dodać do tego tematu, oto moje doświadczenia poniżej ... Naprawdę dziwne i czasochłonne, więc pomyślałem, że warto to dodać.

Miałem podobny problem podczas próby zbudowania mostka portletów w systemie Windows, otrzymując następujące błędy:

Pobieranie: http://repo1.maven.org/maven2/org/apache/portals/bridges-pom/1.0/bridges-pom-1.0.pom
[DEBUG] Czytanie pliku śledzenia rozdzielczości C: \ Documents and Settings \ myuser \ .m2 \ repository \ org \ apache \ portals \ bridges-pom \ 1.0 \ bridges-pom-1.0.pom.lastUpdated
[DEBUG] Plik śledzenia rozdzielczości zapisu C: \ Documents and Settings \ myuser \ .m2 \ repository \ org \ apache \ portals \ bridges-pom \ 1.0 \ bridges-pom-1.0.pom.lastUpdated
[BŁĄD] Kompilacja nie może odczytać 1 projektu -> [Pomoc 1]
org.apache.maven.project.ProjectBuildingException: napotkano pewne problemy podczas przetwarzania POM:
[KRYTYCZNY] Nierozstrzygalny POM nadrzędny: nie można przenieść artefaktu
org.apache.portals: bridges-pom: pom: 1.0 z / do centrali (http://repo1.maven.org/maven2): Błąd podczas przesyłania pliku: repo1.maven.org i punkty „parent.relativePath” w złym miejscu lokalnym
POM @ wiersz 23, kolumna 11
...
[BŁĄD] Projekt org.apache.portals.bridges: portals-bridges-common: 2.0 (H: \ path_to_project \ portals-bridges-common-2.0 \ pom.xml) ma 1 błąd
[BŁĄD] Nierozpuszczalny rodzic POM: Nie można przenieść artefaktu org.apache.portals: bridges-pom: pom: 1.0 z / do centrali (http://repo1.maven.org/maven2):
Błąd podczas przesyłania pliku: repo1.maven.org i „parent.relativePath” wskazują niewłaściwe lokalne POM @ wiersz 23, kolumna 11: Nieznany host repo1.maven.org -> [Pomoc 2]
...
[BŁĄD] Aby uzyskać więcej informacji na temat błędów i możliwych rozwiązań, przeczytaj następujące artykuły:
[BŁĄD] [Pomoc 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[BŁĄD] [Pomoc 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

Po pewnym czasie surfowania wypróbowałem kilka rzeczy:

  • Próbowano ustawić parametr parent.relativePath jako pusty, aby maven nie sądził, że rodzic jest lokalny. Jest to zgodne z sugestią dotyczącą niepowodzenia kompilacji SO w Hudson: nierozstrzygalny POM-rodzic nadrzędny i na tym forum do pobrania . To nie przyniosło skutku.

  • Próbowałem również upewnić się, że repozytorium zostało wyraźnie wymienione w moim settings.xml, ale to również nie miało wpływu.

  • Następnie upewniłem się, że mvn został zmuszony do przeszukania repozytorium, zamiast polegać na własnej historii, o czym pisał na tym blogu Sarthon . Niestety, to też nie był problem.

  • W pewnej desperacji ponownie odwiedziłem MAVEN_OPTS, aby upewnić się, że nie naruszam ustawień proxy. Były one poprawne, choć z wartością niecytowaną:

    set MAVEN_OPTS = -Dhttp.proxyHost = myproxy.mycompany.com -Dhttp.proxyPort = 8080 -Xmx256m

  • W końcu przeniosłem konfigurację proxy do mojego settings.xml i to zadziałało:

    <proxies>
      <proxy>
        <id>genproxy</id>
        <active>true</active>
        <protocol>http</protocol>
        <!--username>proxyuser</username-->
        <!--password>proxypass</password-->
        <host>myproxy.mycompany.com</host>
        <port>8080</port>
        <nonProxyHosts>*.mycompany.com|127.0.0.1</nonProxyHosts>
      </proxy>
    </proxies>

Naprawdę nie jestem pewien, dlaczego mój oryginalny MAVEN_OPTS nie działał (cudzysłowy?), Podczas gdy konfiguracja settings.xml działała. Chciałbym cofnąć poprawkę i ponownie sprawdzić każdy krok, ale straciłem zbyt dużo czasu. Zgłosi się, jak i kiedy.

wmorrison365
źródło
Czy rzeczywiście podałeś nazwę użytkownika i hasło w MAVEN_OPTS?
bcmoney
1
Wydaje mi się, że nie, ale nie muszę tego robić w przypadku mojego serwera proxy. Jak widać, jest to jednak możliwe. Oprócz kwestii bezpieczeństwa możesz spróbować. Rozumiem, że nadal masz problemy z dotarciem tak daleko?
wmorrison365,
4

Wiem, że tak naprawdę nie jest to odpowiedź na pytanie, ale może warto wiedzieć, kto szuka tego postu. Możliwe jest również zainstalowanie serwera proxy repozytorium Maven, takiego jak nexus .

Twój maven zostanie skonfigurowany do kontaktowania się z lokalnym proxy Nexusa, a Nexus będzie pobierał (i buforował) artefakty. Może być konfigurowany przez interfejs WWW i obsługuje (http) proxy).

Może to być zaletą, zwłaszcza w środowisku firmowym, ponieważ artefakty są dostępne lokalnie i można je szybko pobrać, a Ty nie jesteś już tak zależny od dostępności zewnętrznych repozytoriów Maven.

Aby odnieść się do pytania; w Nexusie jest przyjemny GUI do konfiguracji proxy i trzeba to zrobić tylko w jednym miejscu, a nie dla każdego programisty.

extraneon
źródło
3

jeśli jesteś nowy w ustawieniach proxy dla Maven W moim przypadku najpierw pójść i sprawdzić pogodę główna Folder istnieje .m2folder, aw nim nie powinno być plik o nazwie settings.xmljeśli nie tworzyć go i wklej to i zmianę hosti port, a następnie w razie potrzeby zmieńnonProxyHosts

Folder domowy - C: \ Users \ {nazwa_użytkownika}

<settings>
<proxies>
    <proxy>
        <id>httpproxy</id>
        <active>true</active>
        <protocol>http</protocol>
        <host>your-proxy-host</host>
        <port>your-proxy-port</port>
        <nonProxyHosts>localhost</nonProxyHosts>
    </proxy>
<proxy>
        <id>httpsproxy</id>
        <active>true</active>
        <protocol>https</protocol>
        <host>your-proxy-host</host>
        <port>your-proxy-port</port>
        <nonProxyHosts>localhost</nonProxyHosts>
    </proxy>

</proxies>
</settings>

Jeśli to się nie powiedzie, przejdź do zmian w tej lokalizacji folderu domowego

/conf/settings.xml

Używam Eclipse jako mojego IDE
Mam nadzieję, że to pomoże!

Uwaga: aby usunąć serwer proxy, po prostu przejdź settings.xmldo innego miejsca

Akitha_MJ
źródło
Aby usunąć proxy, po prostu przenieś settings.xml do innego miejsca
Akitha_MJ
1

Jeśli maven działa przez proxy, ale nie niektóre wtyczki, które wywołuje, spróbuj ustawić JAVA_TOOL_OPTIONSrównież -Dhttp*.proxy*ustawienia.

Jeśli już JAVA_OPTSto zrób

export JAVA_TOOL_OPTIONS=$JAVA_OPTS
auselen
źródło
0

Poza technikami wymienionymi powyżej, przy pewnym wysiłku, możesz uruchomić mavena przez proxy używając biblioteki jproxyloader (przykład jak to zrobić jest na stronie: http://jproxyloader.sourceforge.net/ ). Pozwala to na skonfigurowanie proxy skarpet tylko do pobierania artefaktów.

W rozwiązaniu wspomnianym przez duanni (ustawienie -DsocksProxyHost) jest jeden problem. Jeśli masz testy integracji uruchomione z lokalną bazą danych (lub inne testy łączące się z adresem URL, które nie powinny przechodzić przez proxy). Te testy przestaną działać, ponieważ połączenia z bazą danych będą również kierowane do serwera proxy. Z pomocą jProxyLoader możesz ustawić proxy tylko dla hosta nexus. Dodatkowo, jeśli chcesz, możesz przekazywać połączenia do bazy danych przez inne proxy.

walkeros
źródło
0

Czasami trzeba dodać inne <proxy></proxy>tagi i określić https w tagach protokołu:<protocol>https</protocol>

Pepe
źródło
0

Powyższe wpisy pomogły w rozwiązaniu mojego problemu. Oprócz powyższego musiałem wprowadzić następujące zmiany, aby to działało:

  • Zmodyfikowano ustawienia sieciowe JRE Mavena (\ jre \ lib \ net.properties), aby używać systemowych ustawień proxy.

    https.proxyHost=proxy DNS
    https.proxyPort=proxy port
    
  • Uwzględniono ustawienia serwera proxy w settings.xml. Nie podałem nazwy użytkownika i hasła, aby korzystać z uwierzytelniania NTLM.

siachen345
źródło
0

Maven zapewnia wbudowaną metodę robienia tego za pośrednictwem pliku o nazwie settings.xml , co zostało omówione w innych odpowiedziach. Jednak zwyczajowo, szczególnie w Linuksie, narzędzia wiersza poleceń automatycznie używają serwera proxy określonego przez zmienną środowiskowąhttps_proxy .

Aby postępować zgodnie z zasadą „ Nie powtarzaj się (która ma na celu pomóc Ci uniknąć błędów), byłoby miło, gdybyś mvnmógł również z tym automatycznie pracować.

Oto skrypt powłoki, który dokonuje niezbędnych konwersji:

#! /usr/bin/env bash

function javaproxy {
    ## using "Shell Parameter Expansion"
    request_scheme=$1 ; proxy=$2
    notscheme=$(echo ${proxy#*://}) ## parse
    scheme=$(echo ${proxy%${notscheme}}) ## remove
    scheme=$(echo ${scheme%://}) ## strip
    hostport=$(echo ${proxy#*//*}) ## parse
    host=$(echo ${hostport%:*}) ## parse
    port=$(echo ${hostport#${host}}) ## remove
    port=$(echo ${port#:}) ## strip
    scheme=$(echo ${scheme:-http}) ## default
    host=$(echo ${host:-localhost}) ## default
    port=$(echo ${port:-8080}) ## default
    echo -n " -D${request_scheme}.proxyHost=${host}"
    echo -n " -D${request_scheme}.proxyPort=${port}"
}

JTO=""

if [ $http_proxy ] ; then
    JTO="${JTO}$(javaproxy http ${http_proxy})"
fi

if [ $https_proxy ] ; then
    JTO="${JTO}$(javaproxy https ${https_proxy})"
fi

if [ $no_proxy ] ; then
    JTO="${JTO} -Dhttp.nonProxyHosts=$(echo \"${no_proxy}\"|tr ',' '|')"
fi

   export JAVA_TOOL_OPTIONS=${JTO}
   echo "JAVA_TOOL_OPTIONS=${JAVA_TOOL_OPTIONS}"

   mvn_friendliness_options+=--update-snapshots
   mvn ${mvn_friendliness_options} $@

Możesz nazwać to coś podobnego proxied_mvni uruchomić jako:

$ https_proxy=http://localhost:58080 ./proxied_mvn clean package

Alternatywnie możesz po prostu przenieść konfigurację środowiska do swoich skryptów startowych.

gotchas

Jest wiele rzeczy, które mogą się nie udać podczas próby skonfigurowania Mavena do dostępu do Nexusa przez proxy. Mamy nadzieję, że ten skrypt pomoże w niektórych z najbardziej skomplikowanych problemów, ale inne pozostają:

  • Dane logowania do Nexusa są dostępne i poprawne (tylko w razie potrzeby)

    Sprawdź z mvn help:effective-settings

  • Buforowanie Mavena: „rozdzielczość nie zostanie podjęta ponownie”

    mvn clean package --update-snapshots

  • Wyjście ściany tekstu Maven - musisz uważnie przyjrzeć się wynikowi, aby upewnić się, że komunikaty o błędach nie różnią się subtelnie między uruchomieniami

  • Starsze wersje Java mogą wymagać _JAVA_OPTIONSzamiast JAVA_TOOL_OPTIONS.

epilog

Istnieje więcej niż jeden rodzaj proxy . Odpowiednio, istnieje więcej niż jeden sposób, w jaki zinterpretowano to pytanie - przyczyniając się do dużej liczby rozbieżnych odpowiedzi.

Wyraźnie odniosłem się do przypadku serwera proxy sieci Web (do przodu HTTP / HTTPS) , który jest używany do uzyskiwania dostępu do Internetu z sieci firmowej (w przypadku niektórych firm). Może się to wyraźnie różnić od proxy SOCKS , do którego również odniesiono się w niektórych odpowiedziach tutaj.

Aha tak na marginesie, skoro używa JAVA_TOOL_OPTIONS, to rozwiązania można zastosować uruchamiania innych aplikacji Java również w proxy .


Wskazówka rozstania ... Mój przykład powyżej używa http://localhost:58080. Dzieje się tak, ponieważ skonfigurowałem przekierowanie portów z mojego CLIENT_PROXY=localhost:58080do rzeczywistego sieciowego serwera proxy, używając WSL na moim kliencie dostępu zdalnego, aby uruchomić:

ssh $PROXY_CLIENT -R $CLIENT_PROXY:$SERVER_PROXY
Brent Bradburn
źródło