web-dev-qa-db-ja.com

JREでIPv4 IPのIPv6スタックの使用を無効にするにはどうすればよいですか?

以下のスクリーンショットでわかるように、EclipseとAndroid SDK Manager(および他のJavaプログラム)は、IPv6 TCP /を介してIPv4インターネットIPに接続しようとしています。 Proxifier(プロキシマネージャープログラム、ネバーマインド)はIPスタックをサポートできません。

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

JavaでIPv6を無効にするにはどうすればよいですか?

42
Ebrahim Byagowi

Java appなので、この_Java_OPTIONS=-Djava.net.preferIPv4Stack=true環境変数。 (_Java_OPTIONSについて読む ここ

Windowsを使用している場合は、Windows cmdで次のコマンドを実行します。
setx _Java_OPTIONS -Djava.net.preferIPv4Stack=true

このJVM引数を思い出させてくれたJason Nicholsに感謝します:)

86
Ebrahim Byagowi

試しましたか(コマンドラインから)

-Djava.net.preferIPv4Stack=true

または(コードから)

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

少し遅れたかもしれませんが、私にとってはどちらのソリューションもうまくいきませんでした。そのため、このオプションを指定されているとおりに含めました here

-Djava.net.preferIPv4Addresses=true

しかし、次のファイル/etc/sysctl.confの最後に行を追加しました

net.ipv6.conf.all.disable_ipv6 = 1

そして

Sudo sysctl -p

説明どおり ここ 。 ipv6が無効になっていることを確認するには、次を実行します。

ip a | grep inet
3
Carlos Cavero