O script PowerShell (search-java-version.ps1) tem como objetivo identificar, analisar e gerenciar instalações do Java no Windows 11. Ele verifica versões instaladas, compara com uma lista de versões permitidas e remove automaticamente versões não permitidas.
A execução dele em outras versões do Windows não foi testada. Inclua uma issue nesse repositório caso não tenha sucesso em alguma versão específica.
- Windows com PowerShell versão 7.5.1 (testado nesta versão).
- Permissões administrativas para executar comandos de remoção e acesso ao registro do Windows.
- Arquivo
check-java-versions.txtcontendo as versões permitidas no formato especificado.
- Verifica instalações do Java no registro do Windows.
- Procura executáveis
java.exeno PATH do sistema. - Analisa diretórios padrão para localizar instalações do Java.
- Verifica variáveis de ambiente
JAVA_HOMEeJRE_HOME. - Compara as versões encontradas com uma lista de versões permitidas.
- Remove automaticamente versões não permitidas.
- Reanalisa o sistema após remoções para garantir conformidade.
graph TD
A[Início] --> B[Carregar lista de versões permitidas]
B --> C[Verificar instalações no registro do Windows]
C --> D[Procurar java.exe no PATH do sistema]
D --> E[Procurar java.exe em diretórios padrão]
E --> F[Verificar JAVA_HOME e JRE_HOME]
F --> G[Comparar versões encontradas com a lista permitida]
G --> H{Versão permitida?}
H -- Sim --> I[Manter instalação]
H -- Não --> J[Remover instalação não permitida]
J --> K[Reanalisar sistema]
K --> L[Fim]
-
Certifique-se de que o PowerShell 7.5.1 está instalado.
-
Tenha o arquivo
check-java-versions.txtno mesmo diretório do script, contendo as versões permitidas no formato:8,0,292 11,0,11 -
Execute o PowerShell com permissões administrativas.
-
Abra o PowerShell como administrador.
-
Navegue até o diretório onde o script está localizado.
-
Execute o comando:
.\search-java-version.ps1
-
O script irá analisar as instalações do Java e gerar logs detalhados no console e em um arquivo de log.
Ao especificar as versões permitidas no arquivo check-java-versions.txt, utilize o seguinte formato:
| Linha no TXT | O que permite? |
|---|---|
| 6,all | Qualquer update do Java 6 (6.x.x) |
| 7,80,all | Qualquer patch do Java 7.80 (7.80.x) |
| 17,0,12 | Somente Java 17.0.12 |
O script segue a lógica de comparação de versões, onde "all" permite qualquer valor no campo correspondente. Isso é consistente com padrões de versionamento e especificação de ranges, como Maven ou OSGi.