Почему я получаю пакет javax.crypto не существует
Когда я компилирую класс с помощью javax.crypto.Mac, я получаю это сообщение об ошибке?
пакет javax.crypto не существует
Я могу исправить это, включив jre/lib/jce.jar в мой путь к компиляции.
Почему jce.jar не относится к пути jdk по умолчанию? jre/lib/rt.jar находится в пути к классам и включает другие пакеты javax, но jce кажется особенным?
Ответы
Ответ 1
Хорошо, это была ошибка с моей стороны. Файл Ant, который я использовал для компиляции кода, имел этот атрибут в задаче javac
:
bootclasspath="${java.home}/lib/rt.jar"
Doh. Вы можете добавить JCE jar следующим образом:
bootclasspath="${java.home}/lib/rt.jar:${java.home}/lib/jce.jar"
Ответ 2
Осторожно! Этот класс включен только в jdk из oracle. Это означает, что ваша программа выиграла, будет переноситься между различными jdk (например, openjdk)
Предпочтительно использовать этот lib извне, его можно загрузить из здесь
Ответ 3
Это сработало для меня, я скачал zip и вставил эти 3 файла в C:\Program Files\Java\jdk1.7.0_11\jre\lib\ext
как описано в jce-1_2_2/jce1.2.2/INSTALL.html
в zip файл.
-
jce1_2_2.jar
-
US_export_policy.jar
-
local_policy.jar