Lein中的ClassNotFound异常(无法编译)

时间:2012-10-04 08:08:15

标签: clojure

我想:gen-class一个Servlet 这是我的代码:

(ns test.test 
(:import (java.io PrintWriter) (javax.servlet.http HttpServlet))
(:gen-class :name test.TestServlet :extends javax.servlet.http.HttpServlet))

(defn -doGet[request response]
    (let [wrtr (.getWriter response)]
        (.println wrtr "hello from clojure")))

Lein无法编译 它说线程中的异常“main”java.lang.ClassNotFoundException:javax.servlet.http.HttpServlet(Test.clj:1)

我已经将Lein中的:library-path修改为“:library-path”/ home / long / workspaces / spring / LongHDi / war / WEB-INF / lib“但它没有用。

你知道为什么吗?

我正在尝试使用Google App Engine。我想要扩展的servlet类已经在我指定的lib文件夹中。

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的lein?

我从here下载了码头,lein version1通过project.clj为我工作

(defproject st2 "1.0.0-SNAPSHOT"
 :description "FIXME: write description"
 :library-path "/Users/Niko/Downloads/jetty-hightide-8.1.7.v20120910/lib"
 :aot [st2.core]
 :dependencies [[org.clojure/clojure "1.3.0"]])

st2.core与你的代码相同:

(ns st2.core
 (:import (java.io PrintWriter) (javax.servlet.http HttpServlet))
 (:gen-class :name test.TestServlet :extends javax.servlet.http.HttpServlet))

(defn -doGet[request response]
  (let [wrtr (.getWriter response)]
    (.println wrtr "hello from clojure")))

如果您使用的是lein2,则不支持:library-path,因此我怀疑您必须添加依赖项“a-la-maven”并将它们添加到项目依赖项中。