我想用以下签名调用Java函数(由SVNKit提供):
public abstract long getFile(String path,
long revision,
Map properties,
OutputStream contents)
throws SVNException
参数属性和内容是可选的。在Clojure中,我用以下函数调用此函数:
(defn read-file
""
[repository path]
(let [properties (java.util.HashMap.)
baos (java.io.ByteArrayOutputStream.)]
(.getFile repository path -1 properties baos)
(.size baos)))
我在properties参数上得到了ClassCastException。当我把它留下来(使用nil而不是属性)它工作正常。 ClassCastException不提供有关它所期望的类的任何信息。
有什么想法吗?
答案 0 :(得分:2)
根据http://svnkit.com/javadoc/index-all.html
的SVNKit javadoc没有列出您签名的方法。最接近的似乎是:
public abstract long getFile(String path,
long revision,
SVNProperties properties,
OutputStream contents)
throws SVNException
来自http://svnkit.com/javadoc/org/tmatesoft/svn/core/io/SVNRepository.html