Эта проблема связана с неправильной установкой Java.
Возможность 1
ПРИМЕЧАНИЕ. Этот сценарий применим только к Java 8 и более ранним версиям. Начиная с Java 9, JRE структурирован по-другому. rt.jar и его друзья больше не существуют, а Pack200 больше не используется.
В стандартной библиотеке Java содержится в различных JAR - файлы, такие как rt.jar, deploy.jar, jsse.jarи т.д. Когда JRE упаковывают эти критические JAR - файлы сжаты с Pack200 и хранятся как rt.pack, deploy.pack, jsse.packи т.д. Java установщик должен распаковать их. Если вы столкнулись с этой ошибкой, очевидно, этого не произошло.
Вам нужно вручную запустить unpack200 все .packфайлы в JRE lib/и lib/ext/папках.
Windows
Распаковать один .packфайл (напримерrt.pack), запустите:
"%JAVA_HOME%\bin\unpack200" -r -v rt.pack rt.jar
Рекурсивно распаковать все .packфайлы, запустите из корня JRE:
for /r %f in (*.pack) do "%JAVA_HOME%\bin\unpack200.exe" -r -q "%f" "%~pf%~nf.jar"
* Никс
Чтобы распаковать один .packфайл (например rt.pack), запустите:
/usr/bin/unpack200 -r -v rt.pack rt.jar
Чтобы рекурсивно распаковать все .packфайлы, запустите из корня JRE:
find -iname "*.pack" -exec sh -c "/usr/bin/unpack200 -r -q {} \$(echo {} | sed 's/\(.*\.\)pack/\1jar/')" \;
Возможность 2
Вы деинсталлировали Java другим способом. Возможно, вы установили без прав администратора или пытались просто извлечь файлы из установщика. Попробуйте еще раз с установщиком и / или другими привилегиями. Или, если вы не хотите использовать установщик, используйте .tar.gzвместо этого пакет Java.
rt.jarфайла, которая требуетсяJVMво время загрузкиJRE