0

我正在研究 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 之间发生了重大变化。我在设置这个 compojure 应用程序时做错了什么?有没有很好的在线教程可以帮助我启动和运行?

4

1 回答 1

3

您可能想尝试将您的use声明更改为:

(:use compojure.core)

那应该这样做。

不久前,我为 compojure 创建了一个样板模板,其中有一个工作示例,您可以在此处看到。

更好的是,如果您正在使用 Leiningen - 您应该使用 - 您可以像这样简单地创建一个新的 compojure 项目:

$ lein new compojure hello-world

查看 compojure 的入门了解更多信息。

于 2013-04-05T05:24:46.573 回答