it-swarm.com.de

Wie kann ich die IPv6-Stapelverwendung für IPv4-IPs auf JRE deaktivieren?

Wie Sie auf den folgenden Screenshots sehen können, versuchen Eclipse und Android SDK Manager (und andere Java Programme)), über IPv6 TCP/eine Verbindung zu einer IPv4-Internet-IP herzustellen. IP-Stack, während Proxifier (ein Proxy-Manager-Programm, egal) dies nicht unterstützen kann.

Eclipse failure in connecting to the InternetAndroid SDK Manager failure in connecting to the Internet

Wie kann ich IPv6 in Java deaktivieren?

42
Ebrahim Byagowi

Ich wollte dies für ein Programm verwenden, auf das ich keinen Einfluss hatte, um die Java app auszuführen, endete also mit diesem _Java_OPTIONS=-Djava.net.preferIPv4Stack=true Umgebungsvariable. (lesen Sie über _Java_OPTIONS hier )

Wenn Sie Windows verwenden, führen Sie einfach diesen Befehl unter Windows cmd aus:
setx _Java_OPTIONS -Djava.net.preferIPv4Stack=true

Vielen Dank an Jason Nichols für die Erinnerung an dieses JVM-Argument :)

86
Ebrahim Byagowi

Haben Sie versucht (von der Kommandozeile)

-Djava.net.preferIPv4Stack=true

oder (von Ihrem Code)

System.setProperty("Java.net.preferIPv4Stack" , "true");
40
Jason Nichols

Vielleicht etwas spät, aber für mich hat keine Lösung funktioniert. Also habe ich diese Option eingefügt, wie es heißt hier :

-Djava.net.preferIPv4Addresses=true

Aber auch die folgenden Zeilen habe ich an das Ende der Datei /etc/sysctl.conf angehängt

net.ipv6.conf.all.disable_ipv6 = 1

Und

Sudo sysctl -p

wie es erklärt wird hier . Um zu überprüfen, ob ipv6 deaktiviert ist, führen Sie einfach Folgendes aus:

ip a | grep inet
3
Carlos Cavero