¿Cómo obligar a Java a usar IPv4 en lugar de IPv6?

39

El complemento de mi navegador Java ya no funciona. Cuando abro una página que tiene un elemento Java, Java no se puede conectar al servidor.

Después de la investigación, descubrí que Java intentaba usar IPv6, mientras que mi red no es compatible con IPv6, por lo que Java siempre no se conecta.

Intenté buscar en Google y descubrí que debería ejecutar Java -Djava.net.preferIPv4Stack=true, pero ¿cómo puedo pasar esto al navegador?

Uso Google Chrome y Java 7 actualización 5.

nyongrand
fuente
¿Por qué no deshabilita el protocolo IPv6 para que Java no tenga esta opción?
harrymc
es una historia antigua, no sé si he desactivado el protocolo IPv6, parece haberlo olvidado, lo que recuerdo es que
elimino
1
Deshabilitar es fácil: mira esto .
harrymc
@harrymc siempre copia contenido: ese enlace está muerto.
javadba
@javadba: los enlaces nunca están muertos: vea la máquina Wayback , pero está desactualizada. Mejor google "Desactivar IPv6 en Windows" para obtener medio millón de resultados.
harrymc

Respuestas:

66

Ponga las opciones en _JAVA_OPTIONSvariable de entorno. Cómo hacer esto ya se describe en varias otras publicaciones, aunque generalmente hablan sobre la configuración PATH, pero es todo lo mismo.

Por ejemplo, en Linux, ponga lo siguiente en su ~/.profileo ~/.bash_profile:

export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"
Gravedad
fuente
1
ok, gracias por tu respuesta, aunque uso Windows pero tu solución me inspira, gracias
nyongrand
1
Véase, por ejemplo, esta entrada para las variables de entorno ajuste: superuser.com/questions/284342/...
user2428118
1
¿Por qué Java 'prefiere' IPV6? Parece romper el código que estaba funcionando.
Ribo
¿Cómo configurarlo en Windows?
Adnan Ali
1
@Ribo: de forma predeterminada, Java usa IPv6 de doble pila cuando es posible, es decir, usa sockets IPv6 que también admiten direcciones IPv4. Estos sockets siguen siendo compatibles con las aplicaciones IPv4 mediante el uso de direcciones asignadas a IPv4. Por lo tanto, este es un comportamiento compatible con versiones anteriores.
Dr. Koutheir Attouchi