
Estou executando o Windows 7 de 64 bits em uma máquina quad core. Quando executo java -version
em uma janela de comando, recebo
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
Eu estava tendo um problema em que os arquivos jar não abriam quando tentava executá-los. Procurei em meu disco java.exe
e encontrei muitas cópias dele. A maioria está em subpastas de pastas de programas. Encontrei um java.exe
que custava apenas 20K. A maioria dos outros está na faixa de 2.000K, mas variam em tamanho e data.
É seguro se livrar de algum desses? Como um programa determina qual cópia de java.exe
(ou javaw.exe
) executar? Posso limpar tudo isso com segurança?
Responder1
Guarde todos eles.
Se houver uma java.exe
subpasta de uma pasta de programa, provavelmente é seguro assumir que o programa cuja pasta java.exe
está usa essa versão.
Um computador não está restrito a ter apenas um arquivo executável em todo o sistema com um determinado nome. Não é diferente de ter, digamos, dois documentos do Word com o mesmo nome: eles precisam estar em pastas diferentes, mas não entram em conflito. Quando o programa tenta abri-lo, ele sabe em qual pasta procurar. Muitas vezes, o programador dirá manualmente onde procurar (por exemplo, “executar bin/java.exe
”). Outras vezes, ele procurará em uma lista de pastas fornecida pelo sistema operacional onde poderá encontrar executáveis. Qualquer um deles é possível; se um programa vier junto com o java.exe
, é muito provável que seja o primeiro.
Em geral, se um programa vem com algo como java.exe
, você provavelmente deve assumir que há uma razão pela qual ele usatão específico java.exe
. Não saia por aí excluindo arquivos de diretórios de programas. Pode acabar muito mal.
Responder2
Sim, guarde quantos quiser/precisar. Você pode ter várias versões diferentes de Java instaladas em uma única caixa e, além disso, ferramentas/aplicativos podem ser fornecidos com suas próprias versões.
Veja onde as diversas versões estão armazenadas (qual diretório) para determinar por que elas estão lá. Alguns podem ser instalados em um diretório Java como C:\"Program Files"\Java\jdk1.7.0_07\bin\
e outros podem ser instalados em diretórios de aplicativos específicos.
Para descobrir qual deles está “ativo” quando você emite um java
comando na linha de comando, digite echo %path%
um prompt de comando e observe qual diretório Java está listado.
(E observe que se você excluir uma versão do java.exe, há quase certamente um conjunto (muito maior) de arquivos JAR próximo que provavelmente também deverá ser excluído, se sua intenção for economizar espaço em disco.)