如果使用`java`启动脚本,则看不到打印值

时间:2015-05-10 12:26:08

标签: clojure

我有这段代码:

(ns test
  (:gen-class))

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

但是当我跑java -cp clojure-1.6.0/clojure-1.6.0.jar clojure.main test.clj时,我没有输出。为什么?如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

您可以像这样调用-main函数:

java -cp clojure-1.6.0/clojure-1.6.0.jar clojure.main -i test.clj -m test

-i加载文件

-m在命名空间中启动-main函数

答案 1 :(得分:1)

nsdefn都不会输出任何内容。如果您想通过调用"hello!"函数来打印-main,则必须在test.clj文件的末尾添加函数调用。

(ns test
  (:gen-class))

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

(-main)