2011-12-25 32 views
15

Đây là tập tin của tôi project.clj cho đến nay:Triển khai ứng dụng Clojure với 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) 

Và tập tin core.clj tôi:

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

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

lein run -m raj.core hiển thị thông điệp Hello World tốt. Vì vậy, hôm sau tôi thử lein uberjar và nhận

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 

Tất cả mọi thứ dường như đang tiến triển tốt cho đến nay, vì vậy tôi cố gắng java -jar raj-0.0.1-SNAPSHOT-standalone.jar, và tôi nhận

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

Làm sao tôi được làm sai ở đây?

Trả lời

27

Bạn cần phải thêm một tuyên bố :gen-class đến raj.core namespace:

(ns raj.core 
    (:use raj.core) 
    (:gen-class)) 
Các vấn đề liên quan