我正在尝试关注this tutorial使用svnkit,但是从clojure开始。我的代码是:
(defn svntest [ url ]
(. DAVRepositoryFactory setup)
(try (let [ repository (. SVNRepositoryFactory create
(. SVNURL parseURIEncoded url))]
(.iterator
(. repository getDir "svnkit" -1 nil (cast Collection nil)))
)
(catch SVNException svne
(println (str "err: " (.getMessage svne)))
)
)
)
(svntest "http://svn.svnkit.com/repos/svnkit/trunk")
但是,我的getDir
调用似乎不起作用 - 我收到IllegalArgumentException,因为此getDir返回的是long而不是集合。
我做错了什么?我是否需要以不同的方式转换参数以获取此重载方法的另一个版本?
答案 0 :(得分:1)
要修复此类型,请将let
语句中的集合提示为:
(let [^Collection coll nil
repository (. SVNRepositoryFactory create
(. SVNURL parseURIEncoded url))]
(.iterator
(. repository getDir "svnkit" -1 nil coll)))
; ...