Como forçar o Java a usar o IPv4 em vez do IPv6?

39

Meu plug-in do navegador Java não está mais funcionando. Quando abro uma página que possui um elemento Java, o Java não pode se conectar ao servidor.

Após a investigação, descobri que o Java estava tentando usar o IPv6, enquanto minha rede não suporta o IPv6, portanto, o Java sempre falha na conexão.

Tentei procurar no Google e descobri que deveria executar o Java -Djava.net.preferIPv4Stack=true, mas como posso passar isso para o navegador?

Eu uso o Google Chrome e Java 7, atualização 5.

Nyongrand
fonte
Por que você não desabilita o protocolo IPv6 para que o Java não tenha essa opção?
harrymc
é uma velha história, eu não sei se eu tenho desativa o protocolo IPv6, parece ter, eu tenha esquecido, o que me lembro é que eu remover Java 7 e substituí-lo com Java 6
nyongrand
11
Desabilitar é fácil: veja isso .
harrymc
@harrymc sempre copia o conteúdo: esse link está morto.
Javadba
@javadba: Os links nunca estão mortos: veja a Wayback Machine , mas está desatualizada. Melhor google "Desativar IPv6 no Windows" para meio milhão de resultados.
harrymc

Respostas:

66

Coloque as opções na _JAVA_OPTIONSvariável de ambiente. Como fazer isso já está descrito em vários outros posts - embora eles geralmente falem sobre configuração PATH, mas seja tudo a mesma coisa.

Por exemplo, no Linux, coloque o seguinte em seu ~/.profileou ~/.bash_profile:

export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"
gravidade
fonte
11
ok, obrigado pela sua resposta, embora eu uso o Windows, mas sua solução me inspiram, graças
nyongrand
11
Veja, por exemplo, esta postagem para definir variáveis ​​de ambiente: superuser.com/questions/284342/…
user2428118
11
Por que o Java 'prefere' o IPV6? Parece quebrar o código que estava funcionando.
Ribo 02/04
Como configurá-lo no Windows?
Adnan Ali
11
@Ribo: Por padrão, o Java usa IPv6 de pilha dupla quando possível, ou seja, usa soquetes IPv6 que também suportam endereços IPv4. Esses soquetes ainda são compatíveis com aplicativos IPv4 usando endereços mapeados para IPv4. Portanto, esse é um comportamento compatível com versões anteriores.
Dr. Koutheir Attouchi