私はhiccupライブラリを使用したclojureプロジェクトを持っています。通常の clojure や jsp プロジェクトと同じように機能しますか? Tomcat サーバーでホストしていて、Web 上で実行しようとすると、ファイルが見つからないというエラーが発生します。
これは私の project.clj ファイルです
(defproject web-app "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.8.0"]
[clj-jgit "0.8.10"]
[org.clojure/data.json "0.2.6"]
[clj-yaml "0.4.0"]
[io.forward/yaml "1.0.9"]
[hiccup "1.0.5"]
[compojure "1.6.1"]
[ring/ring-core "1.6.3"]
[ring/ring-defaults "0.3.2"]
[ring/ring-jetty-adapter "1.6.3"]]
:plugins [[lein-ring "0.12.4"]]
:ring {:handler handler.core/-main}
:main handler.core)
これは私のハンドラの名前空間です
(ns handler.core
(:require [layout.core :as veiw_mapper]
[web-app.core ]
[compojure.core :refer :all]
[compojure.route :as route]
[ring.adapter.jetty :as jetty]
[ring.middleware.defaults :refer [wrap-defaults site-defaults]])
(:gen-class))
(defroutes app-routes
(GET "/" [] (veiw_mapper/index))
(POST "/" [& params] (web-app.core/update-mapper params))
;;(POST "/about" [] ())
(route/resources "//")
(route/not-found "Not Found"))
(def app
(wrap-defaults app-routes site-defaults))
(defn -main[]
)
war ファイルを作成して webapps フォルダーに貼り付けてから、Tomcat サーバーを実行しています。
Type Exception Report
Message No matching ctor found for class java.lang.Integer
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
java.lang.IllegalArgumentException: No matching ctor found for class java.lang.Integer
clojure.lang.Reflector.invokeConstructor(Reflector.java:183)
handler.core$_main.invokeStatic(core.clj:21)
handler.core$_main.doInvoke(core.clj:19)
clojure.lang.RestFn.invoke(RestFn.java:408)
clojure.lang.Var.invoke(Var.java:379)
handler.listener$_contextInitialized$fn__11.invoke(listener.clj:1)
ring.util.servlet$make_service_method$fn__3668.invoke(servlet.clj:129)
handler.servlet$_service.invokeStatic(servlet.clj:1)
handler.servlet$_service.invoke(servlet.clj:1)
handler.servlet.service(Unknown Source)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
これは来るエラーです。