Развертывание приложений Clojure с помощью Leiningen - PullRequest
16 голосов
/ 25 декабря 2011

Это мой файл project.clj:

(defproject raj "0.0.1-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.3.0"]]
  :keep-non-project-classes true
  :main raj.core)

И мой файл core.clj:

(ns raj.core
  (:use raj.core))

(defn -main [& args]
  (println "Hello World!!!"))

lein run -m raj.core отображает сообщение Hello World просто отлично.Итак, затем я пытаюсь lein uberjar и получаю

Compiling raj.core
Compilation succeeded.
Created C:\Users\bobjones\IdeaProjects\raj/raj-0.0.1-SNAPSHOT.jar
Including raj-0.0.1-SNAPSHOT.jar
Including clojure-1.3.0.jar
Created C:\Users\bobjones\IdeaProjects\raj/raj-0.0.1-SNAPSHOT-standalone.jar

Пока все идет хорошо, поэтому я пытаюсь java -jar raj-0.0.1-SNAPSHOT-standalone.jar, и я получаю

Error: Could not find or load main class raj.core

Кем бы я былздесь делаешь неправильно?

1 Ответ

28 голосов
/ 25 декабря 2011

Вам необходимо добавить объявление :gen-class в пространство имен raj.core:

(ns raj.core
  (:use raj.core)
  (:gen-class))
...