诀窍是将 gen-class 添加到 server.clj
(ns myproject.server ... (:gen-class))
例如:我刚刚使用 lein uberjar 进行了部署,我有以下内容:
在我的 project.clj 中:
:main myproject.server
在我的 server.clj 中:
(ns myproject.server
(:require [noir.server :as server]
[myproject.views.common]
[myproject.views.index])
(:gen-class))
(server/load-views "src/myproject/views/")
(defn -main [& m]
(let [mode (keyword (or (first m) :dev))
port (Integer. (get (System/getenv) "PORT" "8080"))]
(server/start port {:mode mode
:ns 'myproject})))
现在它适用于 java -jar myproject-standalone.jar。