web-dev-qa-db-fra.com

Comment puis-je désactiver l'utilisation de la pile IPv6 pour les IP IPv4 sur JRE?

Comme vous pouvez le voir sur les captures d'écran ci-dessous, Eclipse et Android SDK Manager (et d'autres Java) essaient de se connecter à une IP Internet IPv4 via IPv6 TCP/La pile IP alors que Proxifier (un programme de gestion de proxy, nevermind) ne peut pas supporter cela.

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

Comment puis-je désactiver IPv6 en Java?

42
Ebrahim Byagowi

Je voulais utiliser ceci pour un programme que je ne contrôlais pas pour exécuter cette application Java donc fini avec ce _Java_OPTIONS=-Djava.net.preferIPv4Stack=true variable d'environnement. (lire sur _Java_OPTIONS ici )

Si vous utilisez Windows, exécutez simplement cette commande sur Windows cmd:
setx _Java_OPTIONS -Djava.net.preferIPv4Stack=true

Merci à Jason Nichols d'avoir rappelé cet argument JVM :)

86
Ebrahim Byagowi

Avez-vous essayé (à partir de la ligne de commande)

-Djava.net.preferIPv4Stack=true

ou (à partir de votre code)

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

Peut-être un peu tard mais pour moi aucune des solutions n'a fonctionné. J'ai donc inclus cette option comme il est indiqué ici :

-Djava.net.preferIPv4Addresses=true

Mais aussi la ligne suivante j'ai ajouté à la fin du fichier /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1

Et

Sudo sysctl -p

comme cela est expliqué ici . Afin de vérifier que ipv6 est désactivé, exécutez simplement:

ip a | grep inet
3
Carlos Cavero