2013-07-05 58 views
2

我有一個應用程序需要有httpclient-4.2.5.jar庫才能正常運行。我也想使用HtmlUnit庫(版本2.12)。它由於庫衝突(在httpclient-4.2.5.jar和htmlunit-2.12.jar之間)而失敗(我認爲)Java - .jar庫方法衝突?

這是從我的日誌中輸出的結果,但我不會過多地忽略它對我說的,我不叫任何的這種方法,在日誌...

Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: org.apache.http.conn.ssl.SSLSocketFactory.createDefaultSSLContext() 
    at com.gargoylesoftware.htmlunit.HtmlUnitSSLSocketFactory.createSSLContext(HtmlUnitSSLSocketFactory.java:119) 
    at com.gargoylesoftware.htmlunit.HtmlUnitSSLSocketFactory.<init>(HtmlUnitSSLSocketFactory.java:102) 
    at com.gargoylesoftware.htmlunit.HtmlUnitSSLSocketFactory.buildSSLSocketFactory(HtmlUnitSSLSocketFactory.java:77) 
    at com.gargoylesoftware.htmlunit.HttpWebConnection.configureHttpsScheme(HttpWebConnection.java:608) 
    at com.gargoylesoftware.htmlunit.HttpWebConnection.createHttpClient(HttpWebConnection.java:555) 
    at com.gargoylesoftware.htmlunit.HttpWebConnection.getHttpClient(HttpWebConnection.java:518) 
    at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:155) 
    at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1486) 
    at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1403) 
    at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:305) 
    at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:374) 
    at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:359) 
+0

我在這裏發現了一些關於這個異常的註釋,但它對我沒有意義http://old.nabble.com/Re%3A--HtmlUnit--htmlunit-Build-Failed-p35290099.html –

回答

0

快速檢查「org.apache.http.conn.ssl.SSLSocketFactory」類文檔,有沒有這樣的「createDefaultSSLContext()」方法存在。

+0

這是一個私人方法。不包含在javaDoc中。 –

+0

好吧!但它仍然說它不存在,有什麼想法? –

+0

不,但我需要知道它:) –

1

將htmlunit版本推廣到2.15將解決該問題。爲我工作

0

我有這個問題,因爲我想在Selenium中使用WebClient。

我將Selenium從2.33.0升級到2.45.0,而WebClient之後工作良好。