How can I disable IPv6 stack use for IPv4 IPs on JRE?

前端 未结 3 818
予麋鹿
予麋鹿 2020-11-30 23:21

As you can see on below screenshots, eclipse and Android SDK Manager (and other Java programs) are trying to connect to a IPv4 Internet IP via IPv6 TCP/IP stack while Proxif

相关标签:
3条回答
  • 2020-11-30 23:56

    Maybe a bit late but for me neither solution worked. So I included this option as it is stated here:

    -Djava.net.preferIPv4Addresses=true
    

    But also the followingI added line to the end of the file /etc/sysctl.conf

    net.ipv6.conf.all.disable_ipv6 = 1
    

    And

    sudo sysctl -p
    

    as it is explained here. In order to check that ipv6 is disabled just execute:

    ip a | grep inet
    
    0 讨论(0)
  • 2020-11-30 23:58

    Did you try (from the command line)

    -Djava.net.preferIPv4Stack=true
    

    or (from your code)

    System.setProperty("java.net.preferIPv4Stack" , "true");
    
    0 讨论(0)
  • 2020-12-01 00:12

    I wanted to use this for some program I hadn't control for running that Java app so ended with this _JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true environment variable. (read about _JAVA_OPTIONS here)

    If you are using Windows, just run this command on Windows cmd:
    setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true

    Thanks to Jason Nichols for reminding this JVM argument :)

    0 讨论(0)
提交回复
热议问题