Tenho 2 HDs na minha máquina, um que o Windows 7 está (C: ) e outro para guardar apenas arquivos (B: ). Como o C: está lotado, resolvi migrar o JDK (que estava inicialmente em “C:\Program Files\Java\jdk” para “B:\Program Files\Java\jdk”. Eu poderia (acho eu) ter feito isso simplesmente movendo a pasta jdk do HD C: para o HD B: e, depois, renomear a JAVA_HOME. Porém, resolvi desinstalar manualmente a versão que tinha pois a minha era a 1.6.20 e a mais nova, do site da Sun, era a 1.6.21.
Como não achei nenhum “uninstall” na pasta do JDK original, fiz isso pelo painel de controle do próprio Windows 7 (procurei a instalação do Java e coloquei para remover). Verifiquei que a pasta “C:\Program Files\Java\jdk” havia sido removida com sucesso.
Após a “remoção”, abri um console e digitei “javac”, para ver se ele achava o comando. Não achou, como esperado. Porém, ao digitar “java”, a seguinte mensagem apareceu:
Error: Could not open ‘C: Program Files\java\jre6\lib\i386\jvm.cfg’
Claramente, algo não estava totalmente “desinstalado” da versão anterior. Deletei então todas as variáveis de ambiente relativas ao Java (no meu caso, apenas JAVA_HOME). Deletei também o “;%JAVA_HOME%\bin” que estava na variável PATH). Abri novamente o console e a mesma coisa aconteceu. Achei então o seguinte tópico: http://stackoverflow.com/questions/1059954/how-to-completely-remove-java-error-could-not-open-c-program-files-java-jre6
Nele, vi que 3 arquivos relativos ao Java ainda estavam na pasta System32, o “java.exe” e outros 2 que não conheço (“javaw.exe” e “javaws.exe”). Após deletar os 3 manualmente e testar novamente no console, FINALMENTE o erro acima deixou de existir e o comando simplesmente não era encontrado (como era esperado).
Vamos as 3 perguntas:
1) Pq na desinstalação do Java esses 3 arquivos não são deletados?
2) Eu achava que o Java apenas instalava coisas na própria pasta do JDK, mas, conforme pude ver, ele instala coisas no System32 também. Esse é mesmo o comportamento esperado do instalador? Eu lembro de ter visto em algum lugar que, durante a instalação do JDK, TODOS os arquivos são colocados APENAS dentro do diretório JDK escolhido.
3) O que são e para que servem aqueles arquivos “javaw.exe” e “javaws.exe”?
Muito obrigado desde já! 