java NoClassDefFoundError但类在那里并且可用

德文88

我有一个非常奇怪的问题(对我来说)。我使用充气城堡来解密/解密Web应用程序中的某些邮件。重新部署我的应用程序后,我得到此异常

java.lang.NoClassDefFoundError:org / bouncycastle / jcajce / spec / SkeinParameterSpec位于org.bouncycastle.jcajce.provider.symmetric.util.BaseMac.engineInit(未知源)位于javax.crypto.Mac.init(Mac.java:443)在org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.engineLoad(未知源)的org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.calculatePbeMac(未知源)处.java:1445)位于my.application.Class .getDecryptedContent(my.application.Class .java:401)位于my.application.Class .decrypt(my.application.Class .java:91)位于my.application.Class。 getKvConnectMail(my.application.Class .java:320)在my.application.Class .shedulemy.application.Class上的my.application.Class .processEinClick(my.application.Class .java:198).java:44),位于sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法),位于java.sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43),位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)。在org.springframework.scheduling.support.MethodInvokingRunnable.run(MethodInvokingRunnable.java:65)上的org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)上的lang.reflect.Method.invoke(Method.java:497)在org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:51)在org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)在java.util.concurrent.Executorscall $ Runn (Executors.java:511),位于java.util.concurrent.FutureTask.run(FutureTask.java:266),位于java.util.concurrent。在java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)处的ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 201(ScheduledThreadPoolExecutor.java:180)在java.util.concurrent.ThreadPoolExecutor.run2 java.lang.Thread.run(Thread.java:745)上的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)

所以我认为我的应用程序的WEB-INF / lib文件夹中缺少该库,但是它在那里。

奇怪的是:如果我直接在此Codesnipped中使用Class,则Snipped会正确执行而不会出现错误。

LOGGER.error("Class!!!: " + SkeinParameterSpec.class.getName());
SkeinParameterSpec spec = new SkeinParameterSpec();
LOGGER.error("Instance!!!: " + spec.toString());
LOGGER.error("Instanceof: " + (spec instanceof SkeinParameterSpec));

但是库类org.bouncycastle.jcajce.provider.symmetric.util.BaseMac使用的代码与我所截断的代码几乎相同,但上面的Exception结尾。

有人可以帮助我了解为什么会这样吗?

PS:只有重新启动每个人都认为可行的整个Tomcat后,这才发生在重新部署之后。

更新1:我忘了说我使用Liferay。但是我的WebApplication是正常的,与Liferay没有任何关系。

但是:经过一番调查,我发现Liferay有一些库(/ tomcat / webapps / ROOT / lib)。也是旧版本的Bouncycastle。我的Web应用程序是否可能使用了这些库,而该错误是Liferay的库和CustomClassLoaders的结果?

解决方案:请参阅正确答案的“ inigo分离器”注释。

英戈(Inigo)撇渣器

我猜可能在类路径上可能有另一个版本的bouncycastle lib(可能在Tomcat / lib文件夹中),或者是其他一些jar所要求的,该jar首先被加载并且不包含所需的类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

java NoClassDefFoundError但类在那里并且可用

来自分类Dev

类包不包含src.main.java,但是它在那里并且eclipse抱怨它

来自分类Dev

Discord PHP OAUTH - 在那里找不到类

来自分类Dev

“类”不包含“方法”的定义,但它在那里

来自分类Dev

sudo apt-get install (package name) 总是把我带到一个 Oracle Java 13 安装程序,在那里我什么也做不了

来自分类Dev

无法使用[UIImage imageWithContentsOfFile:]创建UIImage,并且文件在那里

来自分类Dev

无法使用[UIImage imageWithContentsOfFile:]创建UIImage,并且文件在那里

来自分类Dev

Aapt失踪,但在那里

来自分类Dev

我收到FileNotFoundException但文件在那里

来自分类Dev

jQuery:缩小以居中并留在那里

来自分类Dev

杀死#### 但进程还在那里?

来自分类Dev

Hibernate DTD没有从类路径加载,罐子在那里,仍在获取FileNotFoundException

来自分类Dev

document.getElementById为null和/或不起作用,即使它在那里并且在加载之后也是如此

来自分类Dev

如何将类添加到元素并保持在那里直到鼠标离开 animate.css?

来自分类Dev

SourceTree树视图在那里,但现在消失了

来自分类Dev

找不到类型或名称空间,但在那里

来自分类Dev

Android Dagger 2在那里时要求@Provides

来自分类Dev

为什么函数ls {ls; }挂在那里?

来自分类Dev

'ld:找不到用于建筑的符号???' 即使在那里

来自分类Dev

SSH:远程运行脚本并留在那里

来自分类Dev

即使UINavigation栏在那里,UIViewController的内容也不会显示

来自分类Dev

Devise无法检测到:omniauthable,但是它在那里

来自分类Dev

无法从列表中删除项目,但显然在那里

来自分类Dev

输入没有数据错误,但数据在那里

来自分类Dev

为什么不在那里调用普通函数?

来自分类Dev

缺少所需的请求正文,但它在那里

来自分类Dev

在那里获得ID“表的未知主键”

来自分类Dev

.remove()之后元素还在那里吗?

来自分类Dev

Rails 4嵌套的资源/路线...几乎在那里...?

Related 相关文章

  1. 1

    java NoClassDefFoundError但类在那里并且可用

  2. 2

    类包不包含src.main.java,但是它在那里并且eclipse抱怨它

  3. 3

    Discord PHP OAUTH - 在那里找不到类

  4. 4

    “类”不包含“方法”的定义,但它在那里

  5. 5

    sudo apt-get install (package name) 总是把我带到一个 Oracle Java 13 安装程序,在那里我什么也做不了

  6. 6

    无法使用[UIImage imageWithContentsOfFile:]创建UIImage,并且文件在那里

  7. 7

    无法使用[UIImage imageWithContentsOfFile:]创建UIImage,并且文件在那里

  8. 8

    Aapt失踪,但在那里

  9. 9

    我收到FileNotFoundException但文件在那里

  10. 10

    jQuery:缩小以居中并留在那里

  11. 11

    杀死#### 但进程还在那里?

  12. 12

    Hibernate DTD没有从类路径加载,罐子在那里,仍在获取FileNotFoundException

  13. 13

    document.getElementById为null和/或不起作用,即使它在那里并且在加载之后也是如此

  14. 14

    如何将类添加到元素并保持在那里直到鼠标离开 animate.css?

  15. 15

    SourceTree树视图在那里,但现在消失了

  16. 16

    找不到类型或名称空间,但在那里

  17. 17

    Android Dagger 2在那里时要求@Provides

  18. 18

    为什么函数ls {ls; }挂在那里?

  19. 19

    'ld:找不到用于建筑的符号???' 即使在那里

  20. 20

    SSH:远程运行脚本并留在那里

  21. 21

    即使UINavigation栏在那里,UIViewController的内容也不会显示

  22. 22

    Devise无法检测到:omniauthable,但是它在那里

  23. 23

    无法从列表中删除项目,但显然在那里

  24. 24

    输入没有数据错误,但数据在那里

  25. 25

    为什么不在那里调用普通函数?

  26. 26

    缺少所需的请求正文,但它在那里

  27. 27

    在那里获得ID“表的未知主键”

  28. 28

    .remove()之后元素还在那里吗?

  29. 29

    Rails 4嵌套的资源/路线...几乎在那里...?

热门标签

归档