JDK1.6使用httpclient 在处理证书信任时 执行 loadTrustMaterial 报错:
java: 找不到符号
符号: 方法 loadTrustMaterial(,<匿名 org.apache.http.conn.ssl.TrustStrategy>)
位置: 类 org.apache.http.ssl.SSLContextBuilder
开始以为是jar包错误
去mvnrepository.com下了最新的jar包还是报这个错误
这是部分代码
SSLContextBuilder builder = new SSLContextBuilder();
builder.loadTrustMaterial(null,new TrustSelfSignedStrategy());
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(builder.build());
Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder
.<ConnectionSocketFactory>create()
.register("http", PlainConnectionSocketFactory.getSocketFactory())
.register("https", sslsf)
.build();
也不知道是不是JDK的问题,希望好giegie们告诉我怎么解决
解决了 发现是引用包的问题
JDK 1.8 maven项目
SSLContextBuilder builder = new SSLContextBuilder();
引用
org.apache.httpcomponents:httpcore:4.4.10
org.apache.httpcomponents:httpclient:4.5.6 均可以运行
JDK1.6 web项目
引用
httpclient:4.5.1 可以运行但提示过时
httpcore:4.4.10 无错误提示 但 报错:
java: XXX/web/util/HttpPoolingUtil.java:50: 找不到符号
符号: 方法 loadTrustMaterial(,org.apache.http.conn.ssl.TrustSelfSignedStrategy)
位置: 类 org.apache.http.ssl.SSLContextBuilder
httpclient是要下载单独的jar包,有没有下载,添加到项目呢?