2013-02-18 19 views
14

Quando compilo un corso usando javax.crypto.Mac ottengo questo messaggio di errore?Perché sto ricevendo il pacchetto javax.crypto non esiste

pacchetto javax.crypto non esiste

posso risolvere il problema includendo jre/lib/jce.jar nel mio compilazione classpath.

Perché jce.jar non si trova sul percorso di classe jdk predefinito? jre/lib/rt.jar si trova sul classpath e include altri pacchetti javax, ma jce sembra speciale?

+0

Solo per citare, il percorso di jre/lib' dovrebbe essere nel tuo percorso in ogni modo. Se non è stato incluso, non hai impostato correttamente java sul tuo computer. – mtk

+0

Ho usato il programma di installazione di Oracle. Le mie informazioni sulla versione sono java versione "1.7.0_10" Java (TM) SE Runtime Environment (build 1.7.0_10-b18) Java HotSpot (TM) Server VM a 64 bit (build 23.6-b04, modalità mista) –

+0

il mio collega ha esattamente lo stesso problema con openjdk su ubuntu. –

risposta

20

OK, questo è stato un errore da parte mia. Il file Ant stavo usando per compilare il codice ha avuto questo attributo il compito javac:

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

Doh. Puoi aggiungere il vaso JCE in questo modo:

bootclasspath="${java.home}/lib/rt.jar:${java.home}/lib/jce.jar" 
6

Attenzione! Questa classe è inclusa solo nel jdk di Oracle. Ciò significa che il tuo programma vince; essere portatile tra diversi jdk (ad esempio openjdk) È preferibile utilizzare questa lib esternamente, può essere scaricato da here

Problemi correlati