Clojure China

关于gen-class的作用

clojure
#1

这边gen class具体的作用不是很明白。如果我有多个方法需要声明,那应该如何做。

另外:aot和:main这两个选项也不是很明白。
————————————————————————————————————————————
关于如何声明多个方法,以及解决了。

类似于use,一下子犯傻没有记起来。


这边是一定要standalone的,因为这个把clojure一起带进去了。

#2

:aot是指Ahead of Time Compilation.与之相对的是Runtime Compilation. 两者的区别就是aot会将生成的class文件保存到磁盘上,也就是我们所熟知的class文件;而rc时class文件则在JVM终止后消失。

:main 会给lein run指定执行的入口。

值得一提的是:gen-class只会在aot时产生作用,这也是为什么我们在{:uberjar {:aot :all}}的时候需要添加上:aot :all

这两篇博客很有帮助:
:gen-class how it works and how to use it
‘Hello World’ from cmd

2赞