signer information does not match signer information of other classes in the same package

在进行单元测试时发生异常如下:在同一个包中类的签名信息不匹配。类对应的jar为,spring-web-****.jar

Caused by: java.lang.SecurityException: class "org.springframework.http.converter.GenericHttpMessageConverter"'s signer information does not match signer information of other classes in the same package

at java.lang.ClassLoader.checkCerts(ClassLoader.java:806)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:625)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

分析:通常是加载了2个不同版本的jar,不过原因却有多种。解决的办法就是找到并删除重复的jar.

1.在WEB-INFO/lib目录下有2个不同的版本:spring-web-3.2.5.RELEASE.jar 与spring-web-3.1.1.RELEASE.jar同事

2.WEB-INFO/lib与其它加载的Libraries中相同的jar包存在不同的版本。

3.不同的Libraries中相同的jar包存在不同的版本。

当时我遇到的情况是:maven加载的jar 与spring OSGI Bundles中jar重复存在不同的版本。删除 OSGI Bundles(Spring),单元测试正常。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值