web-dev-qa-db-ja.com

パッケージjavax.cryptoが存在しないのはなぜですか

Javax.crypto.Macを使用してクラスをコンパイルすると、このエラーメッセージが表示されますか?

パッケージjavax.cryptoが存在しません

コンパイルクラスパスにjre/lib /jce.jarを含めることで修正できます。

Jce.jarがデフォルトのjdkクラスパスにないのはなぜですか? jre/lib/rt.jarはクラスパス上にあり、他のjavaxパッケージが含まれていますが、jceは特別なようですか?

16
Mike Hogan

OK、これは私の側の間違いでした。コードのコンパイルに使用していたAntファイルには、javacタスクで次の属性がありました。

bootclasspath="${Java.home}/lib/rt.jar" 

ドー。次のようにJCEjarを追加できます。

bootclasspath="${Java.home}/lib/rt.jar:${Java.home}/lib/jce.jar"
23
Mike Hogan

注意してください!このクラスは、Oracleのjdkにのみ含まれています。つまり、プログラムは異なるjdk(openjdkなど)間で移植できません。このライブラリは外部で使用することをお勧めします。 ここ からダウンロードできます。

9
user405837

それは私のために働きました、私は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
0
Fabio Giaquinta