Atitit 类库冲突解决方案  httpclient-4.5.2.jar

 

 

Atitit 类库冲突解决方案  httpclient-4.5.2.jar 

 

错误提示如下1

版本如下(client and selenium)2

解决流程2

挂载源码 (SSLConnectionSocketFactory.java:1442

原因:SSLConnectionSocketFactory调取AllowAllHostnameVerifier 的时候,调取了另外一个jar里面的allowAhnVer这个class3

解决: 4.5jar放在前面运行,让它先加载。。或者使用代码预先加载4.5jar包里面的jar。。3

 

错误提示如下

Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE

at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)

at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:65)

at org.openqa.selenium.remote.internal.HttpClientFactory.<init>(HttpClientFactory.java:55)

at org.openqa.selenium.remote.internal.ApacheHttpClient$Factory.getDefaultHttpClientFactory(ApacheHttpClient.java:234)

at org.openqa.selenium.remote.internal.ApacheHttpClient$Factory.<init>(ApacheHttpClient.java:211)

at org.openqa.selenium.remote.HttpCommandExecutor.getDefaultClientFactory(HttpCommandExecutor.java:88)

at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:62)

at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:57)

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:93)

at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)

at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:114)

at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:193)

at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)

at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)

at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)

at com.attilax.net.httpTest.main(httpTest.java:18)

 

 

版本如下(client and selenium)

 

(SSLConnectionSocketFactory.java:144)  httpclient-4.5.2.jar

 

selenium

Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE

 

 

 

解决流程

挂载源码 (SSLConnectionSocketFactory.java:144

  @Deprecated

    public static final X509HostnameVerifier ALLOW_ALL_HOSTNAME_VERIFIER

        = AllowAllHostnameVerifier.INSTANCE;

 

 

Org.apache.http.conn.sslAllowAllHostnameVerifier

 

public class AllowAllHostnameVerifier extends AbstractVerifier {

 

public static final AllowAllHostnameVerifier INSTANCE = new AllowAllHostnameVerifier();

 

这个AllowAllHostnameVerifier 就在client4.5.2 jar里面啊,也有这个INSTANCE 属性的。。

我猜想可能,SSLConnectionSocketFactory调取AllowAllHostnameVerifier 的时候,调取了另外一个jar里面的allowAhnVer这个class

 

使用jar包搜索工具,果然搜索到client4.1 这个jar。。

 

 

 

原因:SSLConnectionSocketFactory调取AllowAllHostnameVerifier 的时候,调取了另外一个jar里面的allowAhnVer这个class 

解决: 4.5jar放在前面运行,让它先加载。。或者使用代码预先加载4.5jar包里面的jar。。

删除4.1d jar也可,但是可能有兼容性问题,最好还是调整jar加载优先级在bat .claspath文件里面。。

 

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 

汉字名:艾提拉(艾龙)   EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

Atiend

 

 

posted @ 2016-10-18 23:54  attilaxAti  阅读(1794)  评论(0编辑  收藏  举报