发布于2021-10-15 01:03 阅读(1350) 评论(0) 点赞(17) 收藏(2)
我正在和leiningen一起学习clojure。我编写了一个简单的代码来测试lein & java -jar命令。这是我的project.clj文件:
$ 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}})
这是我的源代码:
$ cat src/hello/core.clj
(ns hello.core
(:gen-class))
(defn -main
[& args]
(print "Hello, World!"))
当我使用lein运行此代码时,它工作正常。它显示在这里
$ lein run
Hello, World!$
当我尝试运行java -jar 时,它没有用
$ 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
我不明白,为什么我没有使用java -jar获得所需的输出?
如果我在源文件中用println替换print,我会同时获得lein run和java -jar所需的输出。
您的流程输出已缓冲。print
不刷新输出。大多数情况下,您的输出流将设置为自动刷新换行符,这就是println
显示的原因。如果您需要在没有换行符的情况下刷新,您可以调用该(flush)
函数。
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/301733/a124b09bc7ebd9711cb6/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!