J'apprends clojure avec leiningen. J'ai écrit un code simple pour tester lein & commandes java -jar. Voici mon project.clj fichier:Pourquoi la fonction d'impression ne s'imprime pas lorsqu'elle est appelée avec java -jar?
$ cat project.clj
(defproject hello "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.8.0"]]
:main ^:skip-aot hello.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
Voici mon code source:
$ cat src/hello/core.clj
(ns hello.core
(:gen-class))
(defn -main
[& args]
(print "Hello, World!"))
Quand je lance ce code avec lein, ça marche très bien. Il est montré ici
$ lein run
Hello, World!$
Quand j'ai essayé d'exécuter java jar, il n'a pas fonctionné
$ lein uberjar
Compiling hello.core
Created /home/rishi/hello/target/uberjar/hello-0.1.0-SNAPSHOT.jar
Created /home/rishi/hello/target/uberjar/hello-0.1.0-SNAPSHOT-standalone.jar
$ java -jar target/uberjar/hello-0.1.0-SNAPSHOT-standalone.jar
Je ne comprends pas, pourquoi je ne me suis pas sortie nécessaire avec java -jar?
Si je remplace impression avec println dans le fichier source, je suis sortie nécessaire à la fois lein run & java jar.
Cool! J'ai compris. J'ai eu ma réponse. Merci. @noisesmith –