【发布时间】:2016-06-21 19:42:21
【问题描述】:
考虑以下 Java 代码行:
final WebClient webClient = new WebClient()
final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
(取自HTML Unit Project 的“入门”示例)
这将如何被 Clojure 采用?
添加所需的依赖项后,我尝试了以下操作:
(import '[com.gargoylesoftware.htmlunit.html HtmlPage])
(import '[com.gargoylesoftware.htmlunit WebClient])
(let [wc (WebClient.)
hp (HtmlPage. (.getPage wc "http://www.something.."))]
;;...)
但我收到此错误:
CompilerException java.lang.IllegalArgumentException: No matching ctor found f\
or class com.gargoylesoftware.htmlunit.html.HtmlPage, compiling:(*cider-repl l\
ocalhost*:30:16)
有人知道为什么吗?
编辑:
如评论中所述,可能不需要调用 HtmlPage 的构造函数。然而,下面的代码也会产生一个错误,虽然是另一个错误:
(.getPage (WebClient.) "http://htmlunit.sourceforge.net")
IllegalArgumentException Cannot locate declared field class org.apache.http.im\
pl.client.HttpClientBuilder.dnsResolver org.apache.commons.lang3.Validate.isT\
rue (Validate.java:155)
【问题讨论】:
-
第二个错误似乎与第一个错误无关。不过,我只是在这里抓住稻草;如果没有包含您的依赖配置的MCVE,很难说发生了什么。
标签: java class clojure interop