Ich bin sehr neu in Clojure und ich habe eine tolle Zeit damit zu spielen. Eine Sache, mit der ich Probleme habe, ist, wie man die Fehler liest, ich persönlich denke, dass sie nicht sehr beschreibend sind, aber das liegt wahrscheinlich an meiner "Neuigkeit".Keine Implementierung der Methode:: make-reader des Protokolls: # 'clojure.java.io/IOFactory gefunden für Klasse: null
Zum Beispiel ist die Frage, die ich jetzt habe, ist, wenn ich versuche meinen Ring Server zu starten (ich kann mehr Details liefern, wenn erforderlich):
Started server on port 3000
java.lang.IllegalArgumentException: No implementation of method: :make-reader of protocol: #'clojure.java.io/IOFactory found for class: nil
core_deftype.clj:544 clojure.core/-cache-protocol-fn
io.clj:69 clojure.java.io/fn[fn]
io.clj:102 clojure.java.io/reader
RestFn.java:410 clojure.lang.RestFn.invoke
validator.clj:161 selmer.validator/validate-tags
validator.clj:175 selmer.validator/validate
template_parser.clj:155 selmer.template-parser/read-template
template_parser.clj:206 selmer.template-parser/preprocess-template
RestFn.java:410 clojure.lang.RestFn.invoke
parser.clj:211 selmer.parser/parse-file
parser.clj:234 selmer.parser/parse
RestFn.java:442 clojure.lang.RestFn.invoke
parser.clj:99 selmer.parser/render-file
RestFn.java:425 clojure.lang.RestFn.invoke
layout.clj:17 picture-gallery.views.layout/picture-gallery.views.layout.RenderablePage
core.clj:94 compojure.core/make-route[fn]
core.clj:40 compojure.core/if-route[fn]
core.clj:25 compojure.core/if-method[fn]
core.clj:107 compojure.core/routing[fn]
core.clj:2515 clojure.core/some
core.clj:107 compojure.core/routing
RestFn.java:139 clojure.lang.RestFn.applyTo
core.clj:626 clojure.core/apply
core.clj:112 compojure.core/routes[fn]
core.clj:107 compojure.core/routing[fn]
core.clj:2515 clojure.core/some
core.clj:107 compojure.core/routing
RestFn.java:139 clojure.lang.RestFn.applyTo
core.clj:626 clojure.core/apply
core.clj:112 compojure.core/routes[fn]
middleware.clj:44 noir.util.middleware/wrap-request-map[fn]
keyword_params.clj:32 ring.middleware.keyword-params/wrap-keyword-params[fn]
nested_params.clj:70 ring.middleware.nested-params/wrap-nested-params[fn]
params.clj:58 ring.middleware.params/wrap-params[fn]
middleware.clj:12 hiccup.middleware/wrap-base-url[fn]
multipart_params.clj:107 ring.middleware.multipart-params/wrap-multipart-params[fn]
middleware.clj:139 noir.util.middleware/wrap-access-rules[fn]
validation.clj:135 noir.validation/wrap-noir-validation[fn]
cookies.clj:66 noir.cookies/noir-cookies[fn]
cookies.clj:171 ring.middleware.cookies/wrap-cookies[fn]
session.clj:141 noir.session/noir-flash[fn]
flash.clj:31 ring.middleware.flash/wrap-flash[fn]
session.clj:96 noir.session/noir-session[fn]
session.clj:85 ring.middleware.session/wrap-session[fn]
Var.java:379 clojure.lang.Var.invoke
reload.clj:18 ring.middleware.reload/wrap-reload[fn]
stacktrace.clj:17 ring.middleware.stacktrace/wrap-stacktrace-log[fn]
stacktrace.clj:80 ring.middleware.stacktrace/wrap-stacktrace-web[fn]
jetty.clj:18 ring.adapter.jetty/proxy-handler[fn]
(Unknown Source) ring.adapter.jetty.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle
HandlerWrapper.java:116 org.eclipse.jetty.server.handler.HandlerWrapper.handle
Server.java:363 org.eclipse.jetty.server.Server.handle
AbstractHttpConnection.java:483 org.eclipse.jetty.server.AbstractHttpConnection.handleRequest
AbstractHttpConnection.java:920 org.eclipse.jetty.server.AbstractHttpConnection.headerComplete
AbstractHttpConnection.java:982 org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete
HttpParser.java:635 org.eclipse.jetty.http.HttpParser.parseNext
HttpParser.java:235 org.eclipse.jetty.http.HttpParser.parseAvailable
AsyncHttpConnection.java:82 org.eclipse.jetty.server.AsyncHttpConnection.handle
SelectChannelEndPoint.java:628 org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle
SelectChannelEndPoint.java:52 org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run
QueuedThreadPool.java:608 org.eclipse.jetty.util.thread.QueuedThreadPool.runJob
QueuedThreadPool.java:543 org.eclipse.jetty.util.thread.QueuedThreadPool$3.run
Thread.java:722 java.lang.Thread.run
Dies ist für mich so unklar ist, wie zu tun Ich weiß genau, was ich falsch gemacht habe? Ich kann mich nicht erinnern, mit irgendwelchen "Make-Readern", Protokollen oder IOFactory zu arbeiten.
Vielen Dank! Das hat mir definitiv geholfen, in die richtige Richtung zu gehen. stellte sich heraus, dass ich den Pfad zu einer Datei in einem meiner html falsch geschrieben hatte: {% erweitert "picture_gallery/views/template/base.html"%} wenn es eigentlich "templates" sein sollte. Ich frage mich, ob dieses CLJ-1210-Problem auf einer neuesten Version von Clojure basiert. –
Sieht so aus, als ob ein Patch angehängt ist, also vielleicht 1.7.0. – pete23
@GustavoMatias Vielen Dank für diesen Hinweis. Hatte den gleichen seltsamen Fehler, der offensichtlich auf eine falsche Projektstruktur in meinem Ressourcenordner zurückzuführen war. – tareq