首页 > 解决方案 > 尝试调用未绑定的 fn:#'datoteka.core/to-file

问题描述

我对clojure很陌生,我收到以下错误:

Caused by: java.lang.IllegalStateException: Attempting to call unbound fn: #'datoteka.core/to-file
at clojure.lang.Var$Unbound.throwArity(Var.java:45)
at clojure.lang.AFn.invoke(AFn.java:32)
at package.auth_monitor$start_monitor_thread.invokeStatic(auth_monitor.clj:43)
at package.auth_monitor$start_monitor_thread.invoke(auth_monitor.clj:38)
at package.auth_monitor$start_monitor.invokeStatic(auth_monitor.clj:62)
at package.auth_monitor$start_monitor.invoke(auth_monitor.clj:49)
at package.auth_monitor$fn__11768.invokeStatic(auth_monitor.clj:71)
at package.auth_monitor$fn__11768.invoke(auth_monitor.clj:70)

代码是:

42. (let [^TailerListener listener (make-listener)
43.    ^File file (fs/to-file path)
44.    ^Tailer tailer (Tailer. file listener 1000 true)]
45. (doto (Thread. tailer)
46.  (.setDaemon false)
47.  (.start)))

标签: clojure

解决方案


我想您正在使用Datoteka库。尝试使用该file函数File根据路径获取对象(to-file似乎是一个错误的名称):

(let [^TailerListener listener (make-listener)
      ^File file (fs/file path)
      ^Tailer tailer (Tailer. file listener 1000 true)]
  (doto (Thread. tailer)
    (.setDaemon false)
    (.start)))

推荐阅读