class “org.bouncycastle.asn1.ASN1Object”'s signer information does not match signer information of other classes in the same package 出现该问题的原因:就是jar包冲突
解决方法:
1.查看报错信息
C:\Users\whl151885\.jdks\corretto-1.8.0_342\bin\java.exe "-javaagent:D:\whl151885\IdEA\IntelliJ IDEA
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.bouncycastle.asn1.gm.GMNamedCurves.<clinit>(Unknown Source)
at cn.hutool.crypto.SmUtil.<clinit>(SmUtil.java:54)
at com.szhz.healthcode.crypto.util.SzhzSm4Util.encrypt(SzhzSm4Util.java:26)
at com.iswhl.city.service.HealthCode.main(HealthCode.java:7)
Caused by: java.lang.SecurityException: class "org.bouncycastle.asn1.ASN1Object"'s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:891)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:661)
Process finished with exit code 1
2.双击 Shift键搜索 问题项
3.定位错误
因为是jar包的冲突问题,所以我们需要寻找到所造成冲突的jar包,这里我们可以使用idea插件中的依赖分析插件,来帮助我们寻找冲突的jar包
4. 到pom文件中来寻找冲突jar包
5.解决办法
将步骤4中查询出来的两个bcprov-jdk jar包删除一个即可,具体删除哪个,看你项目中的jar包依赖关系。
在本次我的项目中,本次测试没有使用到ebaize-workflow这个jar包,所以在pom文件中将该jar包删除即可
如下:
重新加载maven后测试类正常运行: