Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure-Clostache错误-未实现方法::使协议读取器:#和#x27;为类找到clojure.java.io/IOFactory:nil_Clojure_Compojure - Fatal编程技术网

Clojure-Clostache错误-未实现方法::使协议读取器:#和#x27;为类找到clojure.java.io/IOFactory:nil

Clojure-Clostache错误-未实现方法::使协议读取器:#和#x27;为类找到clojure.java.io/IOFactory:nil,clojure,compojure,Clojure,Compojure,我使用clojure-1.5.1、compojure-1.1.5、clostache-1.3.1 模板文件位于resources/public/templates文件夹下 代码: (:require [clostache.parser :as cp]) (cp/render-resource "templates/connectionDetails.mustache" {:jmsConnectionName "Michael" :rest-conn-names ["a" "b"]})) 对C

我使用clojure-1.5.1、compojure-1.1.5、clostache-1.3.1

模板文件位于resources/public/templates文件夹下

代码:

(:require [clostache.parser :as cp])

(cp/render-resource "templates/connectionDetails.mustache" {:jmsConnectionName "Michael" :rest-conn-names ["a" "b"]}))
对Clostache渲染资源的调用引发以下异常:

Exception: java.lang.IllegalArgumentException: No implementation of method: :make-reader of protocol: #'clojure.java.io/IOFactory found for class: nil
                  core_deftype.clj:541 clojure.core/-cache-protocol-fn
                             io.clj:73 clojure.java.io/fn[fn]
                            io.clj:106 clojure.java.io/reader
                       RestFn.java:410 clojure.lang.RestFn.invoke
                          AFn.java:161 clojure.lang.AFn.applyToHelper
                       RestFn.java:132 clojure.lang.RestFn.applyTo
                          core.clj:619 clojure.core/apply
                         core.clj:6278 clojure.core/slurp
                       RestFn.java:410 clojure.lang.RestFn.invoke
                        parser.clj:396 clostache.parser/render-resource

可能找不到资源,因为您的路径似乎不正确<代码>资源被添加到类路径中,因此要访问模板,您应该使用
“public/templates/connectionDetails.mustache”
(如果不直接从应用程序公开模板,则将模板置于
public
下可能没有意义)

模板应位于源文件夹下。 在您的情况下,这将是:

src
|
- templates
  |
  - connectionDetails.mustache
公用文件夹用于从web应用程序客户端提取HTML资源,即CSS、图像、Javascripts等

Clostache正在查看您的类路径(即src文件夹)以查找所需的文件

谢谢庞早:)。我的错,是的,就是这样!