Esse problema decorre de uma instalação incorreta do Java.
Possibilidade 1
NOTA: Este cenário se aplica apenas ao Java 8 e anteriores. A partir do Java 9, o JRE está estruturado de maneira diferente. O rt.jar e os amigos não existem mais e o Pack200 não é mais usado.
A biblioteca padrão Java está contido em vários JARs, como rt.jar, deploy.jar, jsse.jar, etc. Quando o JRE é embalado, esses arquivos JAR críticos são compactados com Pack200 e armazenados como rt.pack, deploy.pack, jsse.pack, etc. instalador do Java é suposto eles descomprimir. Se você está tendo esse erro, aparentemente isso não aconteceu.
Você precisa executar manualmente unpack200todos os .packarquivos nos JREs lib/e lib/ext/pastas.
janelas
Para descompactar um .packarquivo (por exemplo rt.pack), execute:
"%JAVA_HOME%\bin\unpack200" -r -v rt.pack rt.jar
Para descompactar todos os .packarquivos recursivamente , na execução raiz do JRE:
for /r %f in (*.pack) do "%JAVA_HOME%\bin\unpack200.exe" -r -q "%f" "%~pf%~nf.jar"
* nix
Para descompactar um .packarquivo (por exemplo rt.pack), execute:
/usr/bin/unpack200 -r -v rt.pack rt.jar
Para descompactar todos os .packarquivos recursivamente , na execução raiz do JRE:
find -iname "*.pack" -exec sh -c "/usr/bin/unpack200 -r -q {} \$(echo {} | sed 's/\(.*\.\)pack/\1jar/')" \;
Possibilidade 2
Você desinstalou o Java de alguma outra maneira. Talvez você tenha instalado sem direitos de administrador ou tenha tentado simplesmente extrair arquivos do instalador. Tente novamente com o instalador e / ou mais privilégios. Ou, se você não quiser usar o instalador, use o .tar.gzpacote Java.
rt.jararquivo, o que é exigidoJVMno momento do carregamentoJRE