2016-12-14 41 views
0

執行Clojure的腳本我有項目結構這樣在gradle這個

functional-lore 
    clojure-project 
     src\main\clojure\com.lapots.functional.clojure 
      script.clj 
     build.gradle 
build.gradle 

凡根build.gradle看起來像這樣

buildscript { 
    dependencies { 
     classpath "clojuresque:clojuresque-base:$clojuresqueVersion" 
    } 

    repositories { 
     jcenter() 
     maven { url 'http://clojars.org/repo' } 
    } 
} 

allprojects { 
    apply plugin: 'idea' 

    repositories { 
     mavenCentral() 
     jcenter() 
    } 

    group='com.lapots.functional' 
} 

而且子項目build.gradle看起來像這樣

apply plugin: 'clojure-min' 

clojure { 
    aotCompile = true 
    warnOnReflection = true 
} 

repositories { 
    clojarsRepo() 
} 

dependencies { 
    compile "org.clojure:clojure:$clojureVersion" 
} 

而且我有簡單的clojure腳本script.clj

(ns com.lapots.functional.clojure.script) 

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

但如何用gradle運行它?

回答

0

我用這個解決方案。 加入:gen-class

(ns com.lapots.functional.clojure.script 
    (:gen-class)) 

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

創建gradle任務

task runClojure(dependsOn: classes, type: JavaExec) { 
    main = 'com.lapots.functional.clojure.script' 
    classpath = sourceSets.main.runtimeClasspath 
} 

然後只是gradle runClojure跑了。