我正在用 Java 开发一个小型浏览器实现。
我正在使用 Apache HttpComponents 4.3.1,因为它具有自动转发机制,但我无法弄清楚它是如何工作的。
从 Apache docs Chapter 1. Fundamentals开始,我正在尝试使用这段代码摘录:
LaxRedirectStrategy redirectStrategy = new LaxRedirectStrategy();
CloseableHttpClient httpclient = HttpClients.custom()
.setRedirectStrategy(redirectStrategy)
.build();
这应该创建一个ClosableHttpClient
可以自动转发的。但在第二行(通过调用创建客户端.build()
)我收到此错误:
线程“AWT-EventQueue-0”中的异常 java.lang.NoSuchFieldError:
org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init> 的实例
(DefaultHttpRequestWriterFactory.java:52)
没有更多代码,我只是通过以下方式调用此代码段:
HttpClient myClient = createClient();
如果我使用明确的没有区别:
ClosableHttpClient myClient = createClient();
(我在Apache 教程中找到的)
我怀疑某些库正在干扰,所以这是我的类路径概述: