Jak zmusić Javę do używania IPv4 zamiast IPv6?


39

Moja wtyczka do przeglądarki Java nie działa. Kiedy otwieram stronę z elementem Java, Java nie może połączyć się z serwerem.

Po zakończeniu dochodzenia odkryłem, że Java próbuje używać IPv6, podczas gdy moja sieć nie obsługuje IPv6, więc Java zawsze nie może się połączyć.

Próbowałem spojrzeć na Google i stwierdziłem, że powinienem uruchomić Javę -Djava.net.preferIPv4Stack=true, ale jak mogę przekazać to do przeglądarki?

Używam Google Chrome i Java 7 aktualizacja 5.


Dlaczego nie wyłączysz protokołu IPv6, aby Java nie miała tej opcji.
— harrymc

to stara historia, nie wiem, czy wyłączyłem protokół IPv6, wydaje mi się, że zapomniałem, pamiętam, że
— usuwam

1
Wyłączenie jest łatwe: zobacz to .
— harrymc

@harrymc zawsze kopiuje treść: ten link jest martwy.
— javadba

@javadba: Linki nigdy nie są martwe: zobacz Wayback Machine , ale jest przestarzała. Lepsze google „Wyłącz IPv6 w systemie Windows”, aby uzyskać pół miliona wyników.
— harrymc

Odpowiedzi:


66

Umieść opcje w _JAVA_OPTIONSzmiennej środowiskowej. Jak to zrobić, jest już opisane w różnych innych postach - chociaż zwykle mówią o ustawieniach PATH, ale wszystko jest takie samo.

Na przykład w systemie Linux umieść w swoim ~/.profilelub ~/.bash_profile:

export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"

1
ok, dziękuję za odpowiedź, chociaż korzystam z systemu Windows, ale twoje rozwiązanie mnie inspiruje, dzięki
— nyongrand

1
Zobacz na przykład ten post, aby ustawić zmienne środowiskowe: superuser.com/questions/284342/…
— user2428118,

1
Dlaczego Java „preferuje” IPV6? Wygląda na to, że psuje działający kod.
— Ribo,

Jak to ustawić w systemie Windows?
— Adnan Ali,

1
@Ribo: Domyślnie Java używa, gdy to możliwe, podwójnego stosu IPv6, tzn. Używa gniazd IPv6, które również obsługują adresy IPv4. Te gniazda są nadal kompatybilne z aplikacjami IPv4 przy użyciu adresów odwzorowanych na IPv4. Dlatego jest to zachowanie kompatybilne wstecz.
— Dr Koutheir Attouchi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.