Javax.crypto.Macを使用してクラスをコンパイルすると、このエラーメッセージが表示されますか?
パッケージjavax.cryptoが存在しません
コンパイルクラスパスにjre/lib /jce.jarを含めることで修正できます。
Jce.jarがデフォルトのjdkクラスパスにないのはなぜですか? jre/lib/rt.jarはクラスパス上にあり、他のjavaxパッケージが含まれていますが、jceは特別なようですか?
OK、これは私の側の間違いでした。コードのコンパイルに使用していたAntファイルには、javac
タスクで次の属性がありました。
bootclasspath="${Java.home}/lib/rt.jar"
ドー。次のようにJCEjarを追加できます。
bootclasspath="${Java.home}/lib/rt.jar:${Java.home}/lib/jce.jar"
注意してください!このクラスは、Oracleのjdkにのみ含まれています。つまり、プログラムは異なるjdk(openjdkなど)間で移植できません。このライブラリは外部で使用することをお勧めします。 ここ からダウンロードできます。
それは私のために働きました、私はZipをダウンロードして、ZipファイルのC:\Program Files\Java\jdk1.7.0_11\jre\lib\ext
で説明されているようにこれらの3つのファイルをjce-1_2_2/jce1.2.2/INSTALL.html
に貼り付けました。
jce1_2_2.jar
US_export_policy.jar
local_policy.jar