Run Clojure Script with External Dependencies without leiningen
The normal way of deploy clojure files is using leiningen. But if we have no leiningen, or the script is small and unnecessary to pack as a leiningen project, we can build a "bare" clojure script in the following way.
-
Get the dependency jar files, 2 options:
i. download the jar file directly;
i. if the dependency project provide the dependency as leiningen dependency items in porject.clj (for example, "[org.clojure/data.json "0.2.3"]" in data.json), you can build the leiningen project following Parse Sonarqube Data via Web API in Clojure , then copy the denpendency jar files from the ~/.m2/repository folder;
-
Build srcipt: get-sonar-data.clj
(require '[clojure.data.json :as json])
(def url "http://10.0.2.74:9000/api/resources?resource=ESB:com.boco.esb.analysismgr.service.impl&metrics=classes")
(def data (json/read-str (slurp url)))
(println ((first data) "name"))
(println ((first ((first data) "msr")) "val"))
-
Run script: java -cp './*:.' clojure.main get-sonar-data.clj