HtmlUnit 在 WebClient.getPage 中抛出 NoSuchFieldError

HtmlUnit throws NoSuchFieldError in WebClient.getPage

我安装了 HtmlUnit 并编写了简单的测试程序,以检查是否一切正常。 所以,这是我使用 HtmlUnit 的非常简单的测试程序:

public class Main {

    public static void main(String[] args) throws Exception {
        WebClient webClient = new WebClient();
        HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
        webClient.close();
    }

}

当我尝试 运行 它时,我得到了这个:

Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)
at com.gargoylesoftware.htmlunit.HttpWebConnection.configureHttpsScheme(HttpWebConnection.java:597)
at com.gargoylesoftware.htmlunit.HttpWebConnection.createHttpClient(HttpWebConnection.java:532)
at com.gargoylesoftware.htmlunit.HttpWebConnection.getHttpClientBuilder(HttpWebConnection.java:494)
at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:158)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1321)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1238)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:346)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:415)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:400)
at code.elix_x.programs.nfixer.Main.main(Main.java:10)

这与我尝试获取的页面无关。 我无法在任何地方找到该错误的修复方法。 这可能是由我安装的其他 API 引起的吗(除了 HtmlUnit,我还有 google apis、gson api、jsoup api 和 apis需要那些)?

感谢您的帮助!

您需要为您的 WebClient 构造函数指定一个浏览器,否则您将无法连接到该页面:

WebClient webClient = new WebClient(BrowserVersion.CHROME);