Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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 解放者入门_Clojure - Fatal编程技术网

Clojure 解放者入门

Clojure 解放者入门,clojure,Clojure,我对clojure和liberator是新手 我试图开始与解放者,但我被困在以下错误 以下是启动Web服务器并定义路由的代码: (ns game-of-life.core (:require [ring.util.response :as resp] [compojure.route :as route] [ring.adapter.jetty :as jetty]) (:use [ring.middleware.multipart-params :only [w

我对clojure和liberator是新手

我试图开始与解放者,但我被困在以下错误

以下是启动Web服务器并定义路由的代码:

(ns game-of-life.core
  (:require
   [ring.util.response :as resp]
   [compojure.route :as route]
   [ring.adapter.jetty :as jetty])
  (:use
   [ring.middleware.multipart-params :only [wrap-multipart-params]]
   [ring.util.response :only [header]]
   [compojure.core :only [context ANY routes defroutes]]
   [compojure.handler :only [api]]))

  (defn assemble-routes []
    (->
     (routes
        (ANY "/" [] (resp/redirect "/index.html"))

        (route/resources "/"))))

  (def handler
    (-> (assemble-routes))

  (defn start [options]
    (jetty/run-jetty #'handler (assoc options :join? false)))

  (defn -main
    ([port]
       (start {:port (Integer/parseInt port)}))
    ([]
       (-main "3000")))
当我运行
lein-ring server
时,我会得到一个
java.lang.NullPointerException
,其中包含以下堆栈跟踪:

reload.clj:18 ring.middleware.reload/wrap-reload[fn] clj:17 ring.middleware.stacktrace/wrap stacktrace日志[fn] clj:80-ring.middleware.stacktrace/wrap-stacktrace-web[fn] jetty.clj:18-ring.adapter.jetty/proxy处理程序[fn](未知) Source)ring.adapter.jetty.proxy$org.eclipse.jetty.server.handler.AbstractHandler$0.handle java:116 org.eclipse.jetty.server.handler.HandlerWrapper.handle java:363 org.eclipse.jetty.Server.Server.handle AbstractHttpConnection.java:483 org.eclipse.jetty.server.AbstractHttpConnection.HandlerRequest AbstractHttpConnection.java:920 org.eclipse.jetty.server.AbstractHttpConnection.headerComplete AbstractHttpConnection.java:982 org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete java:635 org.eclipse.jetty.http.HttpParser.parseNext 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 java:608 org.eclipse.jetty.util.thread.QueuedThreadPool.runJob java:543 org.eclipse.jetty.util.thread.QueuedThreadPool$3.run java:744java.lang.Thread.run


我认为如果你的处理函数得到请求参数,效果会更好。

你能试着像这样更改依赖项吗?这些版本和以下配置完全适合我:(包括重新加载)

另外,处理程序应该是

(def handler
(-> (assemble-routes)))
(def handler
(-> (assemble-routes)))