Por que um aplicativo Java de desktop usa um JRE antigo?

Por que um aplicativo Java de desktop usa um JRE antigo?

Ao tentar cumprir a política de TI, (pensei) removi todas as versões antigas de Java JREs e JDKs do OSX. java -versionretorna 1.7.0_51 e o Painel de Controle Java nas Configurações do Sistema também relata a compilação 1.7.0_51.

No entanto, quando abro o aplicativo DeltaWalker, ele envia uma solicitação HTTP para verificar novas versões e inclui o cabeçalho User-Agent: Java/1.7.0_40, o que obviamente aciona o sistema de detecção de vulnerabilidades da nossa organização.

  1. Por que o DeltaWalker não está usando a versão mais recente?
  2. Como posso descobrir qual JRE um aplicativo como este ou Eclipse/PhpStorm está usando?
  3. Como posso rastrear esse JRE mais antigo e excluí-lo danificará esses aplicativos?

Responder1

Como @Keltari mencionou, muitos aplicativos agrupam sua própria versão Java junto com o aplicativo, porque isso evita que eles dependam do Java instalado, sobre o qual eles nada sabem.

Você pode abrir o aplicativo DeltaWalker no Finder para ver o que está acontecendo aqui. (Fiz isso com uma nova cópia do DeltaWalkerdmg, mas o seu deve ser o mesmo). Encontre o "Aplicativo" do DeltaWalker, clique com a tecla Ctrl pressionada ou clique com o botão direito sobre ele e escolha "Mostrar Conteúdo do Pacote". Navegue até Contents\PlugIns\jre\Contents\Home\para ver a versão do Java que está sendo usada pelo aplicativo. Você pode ir para este caminho em uma janela do Terminal, entrar na binpasta e executar java -versionpara confirmar se é a mesma versão que você está vendo no User-Agent. (Não posso verificar isso sozinho, pois estou desmontando o aplicativo usando o 7-zip em um computador Windows.)

É teoricamente possível apenas substituir esta versão Java por uma mais recente, mas eu hesitaria em fazer isso, dado o quão fortemente interligados os componentes do aplicativo podem ser e dado que o DeltaWalker agrupa muitas outras dependências junto com ele (executáveis ​​auxiliares e plug-ins JAR ) que também pode ter problemas.

Se você não estiver usando a versão mais recente do aplicativo, deverá atualizá-lo, se puder. Se não conseguir, ou se a versão mais recente ainda for muito antiga, entre em contatoSuporte Deltopia.

Responder2

Não sei sobre seus aplicativos ou Macs, mas tenho certeza de que é semelhante ao Windows.

Alguns aplicativos incluirão sua própria versão Java na instalação. Geralmente, isso é feito porque eles não o testaram com uma versão mais recente do Java e não podem garantir que seu aplicativo funcione com uma versão mais recente. Ou, é possível, o aplicativo não seja compatível com uma versão mais recente do Java.

Verifique o que inicia seu aplicativo e veja se ele inicia especificamente uma versão mais antiga. Você pode tentar remover esse inicializador ou editá-lo para que ele use a versão mais recente, mas isso pode danificar o aplicativo.

Gostaria de verificar os fóruns de suporte de seus aplicativos para obter mais informações.

informação relacionada