JavaにIPv6の代わりにIPv4を使用させるにはどうすればよいですか?


39

Javaブラウザプラグインが機能しなくなりました。Java要素を持つページを開くと、Javaがサーバーに接続できません。

調査の結果、JavaはIPv6を使用しようとしましたが、私のネットワークはIPv6をサポートしていないため、Javaは常に接続に失敗しました。

Googleで調べてみたところ、Javaを実行する必要があることがわかりましたが-Djava.net.preferIPv4Stack=true、これをブラウザに渡すにはどうすればよいですか?

Google ChromeとJava 7 update 5を使用しています。


Javaにこのオプションがないように、IPv6プロトコルを無効にしないのはなぜですか。
ハリーマク

それは、私は無効にIPv6プロトコルをした場合、私は忘れてしまった、持っているようだかわからない、私が覚えていることは、私は、Java 7を削除し、Java 6とそれを置き換えるある昔の話です
nyongrand

1
無効化は簡単です。こちらをご覧ください
harrymc

@harrymcは常にコンテンツをコピーします。そのリンクは無効です。
javadba

@javadba:リンクが死ぬことはありません。WaybackMachineを参照してください。ただし、古くなっています。50万件の結果を得るためのより良い「WindowsでのIPv6の無効化」。
-harrymc

回答:


66

オプションを_JAVA_OPTIONS環境変数に入れます。これを行う方法は他のさまざまな投稿で既に説明されています-通常は設定について説明していますPATHが、それはすべて同じです。

たとえば、Linuxでは、~/.profileまたはに次を入力します~/.bash_profile

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

1
OK、お返事に感謝、私は窓を使用しますが、あなたのソリューションが私を鼓舞したが、おかげで
nyongrand

1
環境変数の設定については、この投稿の例をご覧ください:superuser.com/questions/284342/…–
user2428118

1
JavaがIPV6を「好む」のはなぜですか?動作していたコードが壊れているようです。
リボ

Windowsで設定する方法は?
アドナンアリ

1
@Ribo:デフォルトでは、Javaは可能であればデュアルスタックIPv6を使用します。つまり、IPv4アドレスもサポートするIPv6ソケットを使用します。これらのソケットは、IPv4にマップされたアドレスを使用することにより、IPv4アプリケーションと互換性があります。したがって、これは下位互換性のある動作です。
コウテアアトタッチ博士
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.