我正在处理Clojure in Action第232页中的Compojure示例
(ns compojure-test.core
(:gen-class)
(:use compojure))
(defroutes hello
(GET "/" (html [:h1 "Hello world"]))
(ANY "*" [404 "Page not found"]))
(run-server {:port 8080} "/*" (servlet hello))
但是当我试图运行它时:
$ lein run
Exception in thread "main" java.lang.ClassNotFoundException: compojure-test.core
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
...
似乎是声明
(:use compojure)
我也听说过最近版本的组合之间发生了重大变化。我在设置这个compojure应用程序时做错了什么?是否有一个很好的在线教程可以帮助我启动并运行?
答案 0 :(得分:3)
您可能想尝试将use
语句更改为:
(:use compojure.core)
应该这样做。
我在前面创建了一个样板模板,用于具有可以看到here的工作示例的组件。
更好的是,如果你正在使用Leiningen - 你应该 - 你可以简单地创建一个这样的新组合项目:
$ lein new compojure hello-world
结帐compojure Getting Started了解更多信息。