Quais são as razões pelas quais o Java não sobrescreve / remove suas atualizações mais antigas após cada atualização?

7

Posso desinstalar as atualizações antigas?

A respeito de atualizações , Estou me referindo àqueles Atualização 1, Atualização 2, por ex. Java 7 Update 1, Java 7 Update 2 e assim por diante.

Eu estou falando com respeito ao Java para Windows.

cychoi
fonte

Respostas:

9

Devo desinstalar versões mais antigas do Java?

É altamente recomendável desinstalar todas as versões antigas do Java do seu sistema.   Manter versões antigas do Java no seu sistema apresenta um sério risco de segurança.   Desinstalar versões antigas do Java do seu sistema garante que os aplicativos Java serão executados   com as mais recentes melhorias de segurança e desempenho no seu sistema.

Fonte: Por que devo desinstalar versões mais antigas do Java do meu sistema?


O motivo pelo qual a atualização não remove a versão mais antiga é permitir que os usuários instalem mais de uma versão do Java ao mesmo tempo e, em seguida, selecionar diferentes versões de Java disponíveis para aplicativos diferentes, embora isso não seja recomendado no Windows. Vejo Seleção da Versão do Oracle Java ™ Runtime Environment .

Para desinstalar as versões ou atualizações mais antigas do Java, o Oracle lançou um aplicativo separado para desinstalar versões desatualizadas do Java chamado Ferramenta de Desinstalação Java para Windows . A Ferramenta de desinstalação do Java para Windows é executada com o Java 6u10 e versões posteriores no Windows XP e posteriores até o Windows 8.

karel
fonte
5
Mas por que a atualização não remove a versão mais antiga para você? Ou atualize sobre a versão anterior. Deve haver uma razão para isso faz deixe a versão antiga no lugar, mesmo que sua remoção seja recomendada ....
glallen
3
O motivo pelo qual a atualização não remove a versão mais antiga é permitir que os usuários instalem mais de uma versão do Java ao mesmo tempo e, em seguida, selecionar diferentes versões de Java disponíveis para aplicativos diferentes, embora isso não seja recomendado no Windows. Vejo Seleção da Versão do Oracle Java ™ Runtime Environment .
karel
3
Eu também estava me perguntando por que eles não colocam uma opção configurável para se você deseja desinstalar automaticamente as versões mais antigas ou atualizações. Como o Java está tendo mais de 50 atualizações para um grande lançamento, essas atualizações mais antigas consomem muito espaço em disco. É complicado fazer desinstalações manuais após cada atualização (automática) ...
cychoi
1
O Java Plug-in localiza os JREs a serem usados ​​a partir das entradas listadas no Painel de Controle Java (guia "Java", botão "Visualizar" em "Configurações do Java Applet Runtime"). Os JREs disponíveis nessa lista estão codificados no arquivo deployment.properties, que no Windows geralmente está localizado em C:\Documents and Settings\[username]\Application Data\Sun\Java\Deployment. Para desinstalar as versões ou atualizações mais antigas do Java, o Oracle lançou um aplicativo separado para desinstalar versões desatualizadas do Java chamado Ferramenta de Desinstalação Java para Windows
karel
2
Ele remove versões mais antigas. Instaladores mais antigos não, mas os mais novos fazem. Além disso, o instalador pode receber uma opção que marca a instalação como fixada. Os instaladores futuros não desinstalarão essa versão. Esse recurso é destinado a aplicativos que exigem uma versão específica do java. Além disso, as versões do java que foram instaladas antes de alterar o comportamento para desinstalar versões antigas não serão desinstaladas. Assim, pelo menos, uma rodada de limpeza será necessária se você tiver versões mais antigas que você não precisa.
longneck
6

Em casos raros, uma versão mais recente do Java NÃO é compatível com o software existente.
(Às vezes, o Java remove certos recursos quando vai para uma nova versão. E, mais frequentemente, algumas funções obtêm um comportamento ligeiramente diferente, o que quebra alguns aplicativos que dependiam do comportamento antigo.)

Isso acontece principalmente com atualizações de versão: como a versão 1.6 para a versão 1.7, mas isso pode acontecer em casos muito raros com uma atualização menor como 1.7.1 - 1.7.2 também.
E, às vezes, certos softwares estúpidos apenas insistem em que uma versão específica do Java esteja presente, embora funcione perfeitamente com uma nova versão.
(Eu vi um software que verificava a presença de uma pasta Java específica pertencente à versão 1.5.x, mas ficaria feliz em trabalhar no 1.6.x contanto que a pasta existisse. Não havia nem mesmo arquivos nessa pasta.)

Por tudo isso, é possível executar 2 ou mais versões em paralelo e remover a versão antiga não é o padrão.

P.S. Aplicativos que realmente dependem de uma versão específica do tempo de execução Java devem usar uma cópia privada dessa versão específica dentro de seu próprio ambiente de programa, em vez de usar a versão instalada no nível do sistema operacional. (Esta cópia incorporada nunca será atualizada, exceto por meio de uma atualização do aplicativo que a utiliza.)
Essa é a maneira recomendada de fazer isso, mas nem todos os softwares são reproduzidos pelas regras.

Tonny
fonte