【问题标题】:Deploying Clojure apps with Leiningen使用 Leiningen 部署 Clojure 应用程序
【发布时间】:2011-12-25 07:56:44
【问题描述】:

到目前为止,这是我的 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

我在这里做错了什么?

【问题讨论】:

    标签: java clojure leiningen


    【解决方案1】:

    您需要将:gen-class 声明添加到raj.core 命名空间:

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

    【讨论】:

      猜你喜欢
      • 2013-06-06
      • 2013-09-22
      • 2014-10-17
      • 1970-01-01
      • 2020-11-06
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      相关资源
      最近更新 更多