我是Java的新手,我为java.lang.NoClassDefFoundError
javax.mail.internet.AddressException
我已经跟踪了usual debugging methods的大部分内容,但无法理解为什么我的依赖项中只缺少该类。 我的代码中可以找到该类。
//Set up
EncryptionUtils utilities = EncryptionManager.getEncryptionUtils(EncryptionManager.PGP);
EncryptionKeyManager pgpKeyMgr = utilities.createKeyManager();
//this works fine, and creates the object as expected
javax.mail.internet.AddressException addressException = new AddressException();
//this crashes, java.lang.ClassNotFoundException: javax.mail.internet.AddressException
pgpKeyMgr.publicKeyAliases();
我有点理解EncryptionKeyManager必须在不同的地方寻找类。我的理解在这一点上打了一堵砖墙。可能出现什么问题?
ERROR [2015-11-27 17:43:32,205] io.dropwizard.jersey.errors.LoggingExceptionMapper: Error handling a request: d2d5e42dae1bb16d
! java.lang.ClassNotFoundException: javax.mail.internet.AddressException
! at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_65]
! at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_65]
! at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_65]
! ... 64 common frames omitted
! Causing: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException
! at net.suberic.crypto.cryptix.CryptixKeyManager$CryptixKeyAlias.<init>(CryptixKeyManager.java:468) ~[javamail-crypto-cryptix-openpgp.jar:na]
! at net.suberic.crypto.cryptix.CryptixKeyManager.publicKeyAliases(CryptixKeyManager.java:355) ~[javamail-crypto-cryptix-openpgp.jar:na]