NoSuchAlgorithmException


今天在寫UT時遇到了下面的問題:

1. 使用的powermock來處理static方法;

2. 靜態方法里的卻有使用到org.apache.http.client(4.3.1)的方法

異常如下:

復制代碼
Caused by: org.apache.http.conn.ssl.SSLInitializationException: class configured for SSLContext: sun.security.ssl.SSLContextImpl$TLS10Context not a SSLContext
at org.apache.http.conn.ssl.SSLContexts.createDefault(SSLContexts.java:58)
at org.apache.http.conn.ssl.SSLSocketFactory.getSocketFactory(SSLSocketFactory.java:162)
at com.taobao.tae.security.topscan.TaeTopScanClient.<clinit>(TaeTopScanClient.java:73)
... 37 more
Caused by: java.security.NoSuchAlgorithmException: class configured for SSLContext: sun.security.ssl.SSLContextImpl$TLS10Context not a SSLContext
at sun.security.jca.GetInstance.checkSuperClass(GetInstance.java:258)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:237)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)
at org.apache.http.conn.ssl.SSLContexts.createDefault(SSLContexts.java:54)
... 39 more
復制代碼

google了一下,倒不是應為包版本或者不存在的問題,是powermock機制的問題。

 

解決方法:

在UTclass上增加annotation:

@PowerMockIgnore("javax.net.ssl.*")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM