Reputation: 10613
When I compile a class using javax.crypto.Mac
I get this error message?
package
javax.crypto
does not exist
I can fix it by including jre/lib/jce.jar
in my compile classpath.
Why is jce.jar
not on the default jdk classpath? jre/lib/rt.jar
is on the classpath, and includes other javax
packages, but jce seems special?
Upvotes: 18
Views: 34050
Reputation: 1
It worked for me, I downloaded the zip and paste these 3 files into C:\Program Files\Java\jdk1.7.0_11\jre\lib\ext
as explained in jce-1_2_2/jce1.2.2/INSTALL.html
in the zip file.
jce1_2_2.jar
US_export_policy.jar
local_policy.jar
Upvotes: 0
Reputation: 10613
OK, this was a mistake on my part. The Ant file I was using to compile the code had this attribute on the javac
task:
bootclasspath="${java.home}/lib/rt.jar"
Doh. You can add the JCE jar like this:
bootclasspath="${java.home}/lib/rt.jar:${java.home}/lib/jce.jar"
Upvotes: 23
Reputation: 143
Beware! This class is only included in the jdk from oracle. That means your program won;t be portable among different jdk (eg openjdk) It is preferable to use this lib externally, it can be downloaded from here
Upvotes: 10