我正在使用clojure-1.5。1,compojure-1.1。5,克罗斯塔什-1.3。1.
模板文件位于资源/公共/模板文件夹下。
代码:
(: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
模板应位于源文件夹下。在您的情况下,这将是:
src
|
- templates
|
- connectionDetails.mustache
公用文件夹用于从web应用程序客户端提取HTML资源,即CSS、图像、Javascripts等。。。
Clostache正在查看您的类路径(即src文件夹)以查找所需的文件。
可能找不到资源,因为您的路径似乎不正确<代码>资源被添加到类路径中,因此要访问模板,您应该使用“public/templates/connectionDetails.mustache”
(如果不直接从应用程序公开模板,则将模板置于public
下可能没有意义)。
我对Clojure很陌生,玩得很开心。有一件事我遇到了一些麻烦,那就是如何阅读错误,我个人认为它们不是很具有描述性,但这可能是由于我的“新手”。 例如,我现在遇到的问题是当我尝试启动我的环形服务器时(如果需要,我可以提供更多详细信息): 这对我来说太模糊了,我怎么知道我做错了什么?我不记得和任何“制造阅读器”、协议或IOFactory打过交道。
获取java。lang.IllegalArgumentException:没有实现方法::作为协议的文件:#'clojure。JAVA为类clojure找到io/强制。当我在MAC OS X上从终端运行lein test或lein repl时,lang.PersistentVector。尽管lein repl在eclipse中运行良好(使用逆时针插件) 我的项目文件是:
我正在尝试从ClojureScript编写一个宏来处理试剂应用程序的文件I/O。我得到这个错误: 当我试图做到以下几点: 但我可以做得很好: 这是宏: 我做错了什么?
我正在尝试使用leiningen创建一个多目标项目,因此我让它生成多个不同的jar文件,这是我创建的项目文件: 它不断返回错误,我不知道它到底出了什么问题
当我制作一个复合特征(名称?)这是由另外两个特性组成的,编译器似乎没有检测到这两个特性是由该复合特性实现的。 代码如下: 错误是这样的: 为什么它没有检测到特性没有同时实现和? (我省略了另一个同样以同样方式抱怨< code>Seek的错误消息。)
我有一个Clojure库,它定义了协议,并对其进行了扩展 ...但是当我试图使用它时: 我不想知道这个例外的意义,或者我应该做什么不同的事情。