How to force Java to use IPv4 instead IPv6?

139,563

Put the options in _JAVA_OPTIONS environment variable. How to do this is already described in various other posts – although they usually talk about setting PATH, but it's all the same.

For example, on Linux, put the following in your ~/.profile or ~/.bash_profile:

export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"
Share:
139,563

Related videos on Youtube

nyongrand
Author by

nyongrand

Updated on September 18, 2022

Comments

  • nyongrand
    nyongrand over 1 year

    My Java browser plug-in is no longer working. When I open a page that has a Java element, Java cannot connect to the server.

    After investigation, I found that Java was trying to use IPv6, while my network does not support IPv6, so Java always fails to connect.

    I tried looking on Google and found that I should run Java with -Djava.net.preferIPv4Stack=true, but how can I pass this to the browser?

    I use Google Chrome and Java 7 update 5.

    • harrymc
      harrymc over 10 years
      Why don't you disable the IPv6 protocol so Java won't have this option.
    • nyongrand
      nyongrand over 10 years
      it is a old story, I do not know if I've disable IPv6 protocol, seems to have, I've forgotten, what I remember is I remove Java 7 and replace it with Java 6
    • harrymc
      harrymc over 10 years
      Disabling is easy : see this.
    • WestCoastProjects
      WestCoastProjects over 7 years
      @harrymc always copy content: that link is dead.
    • harrymc
      harrymc over 7 years
      @javadba: Links are never dead : see the Wayback Machine, but it's outdated. Better google "Disable IPv6 On Windows" for half a million results.
    • Jason S
      Jason S over 2 years
      @harrymc Got 6.8 million results today :)
  • nyongrand
    nyongrand almost 12 years
    ok, thanks for your reply, although i use windows but your solution inspire me, thanks
  • user2428118
    user2428118 over 10 years
    See for example this post for setting environment variables: superuser.com/questions/284342/…
  • Ribo
    Ribo about 8 years
    Why does Java 'prefer' IPV6? It seems to break code that was working.
  • Adnan Ali
    Adnan Ali almost 7 years
    How to set it in Windows ?
  • Dr. Koutheir Attouchi
    Dr. Koutheir Attouchi almost 7 years
    @Ribo: By default, Java uses dual-stack IPv6 when possible, that is, it uses IPv6 sockets that also support IPv4 addresses. These sockets are still compatible with IPv4 applications by using IPv4-mapped addresses. Therefore, this is a backward-compatible behavior.
  • MarcH
    MarcH over 5 years
    IPv4-mapped addresses break proxies.