1. 程式人生 > 其它 >class "org.bouncycastle.openssl.PEMException"'s signer information does not match signer information of other classes in the same package

class "org.bouncycastle.openssl.PEMException"'s signer information does not match signer information of other classes in the same package

最近寫程式碼遇到下面的問題,第一次遇到這種問題,解決的時候花費了一些時間,特此記錄下來

java.lang.SecurityException: class "org.bouncycastle.openssl.PEMException"'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)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:754)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at org.bouncycastle.openssl.PEMParser.<init>(Unknown Source)
        at com.test.utils.RSAStaticUtils.loadPem(RSAStaticUtils.java:281)
        at com.test.utils.RSAUtils.loadPem(RSAUtils.java:131)
        at com.test.utils.RSAUtils.loadPem(RSAUtils.java:117)
        at com.test.utils.TestCotroller.analysisUserInfo(TestCotroller.java:70)
        at com.test.utils.TestCotroller.main(TestCotroller.java:54)

造成這個問題的原因是 jar包衝突的 所以我們就需要查詢衝突的jar包

idea中可以直接檢視jar包關係圖,點選圖中選中的按鈕,就可以檢視jar關係圖

我這邊是現在pom.xml檔案中引入的依賴,所以就直接定位的新加的依賴關係,然後找出了重複的引用,刪除就可以了