Why am I getting package javax.crypto does not exist

流过昼夜 提交于 2019-11-27 06:38:16

问题


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?


回答1:


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"



回答2:


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




回答3:


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


来源:https://stackoverflow.com/questions/14935447/why-am-i-getting-package-javax-crypto-does-not-exist

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!