2011-12-25 79 views
15

这是迄今为止我project.clj文件:部署Clojure的应用与Leiningen

(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 

我会怎么做错在这里?

回答

27

你需要一个:gen-class声明添加到raj.core命名空间:

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