如何在Clojure中创建可分发的应用程序?

Tim*_*ley 4 java clojure

分发Clojure应用程序的"最少工作"方法是什么?这与"最佳"方法不同吗?

例如,这是一个简单的"应用程序",我希望能够发送给某人:


(doto (javax.swing.JFrame. "Hello World")
  (.add (javax.swing.JLabel. "Clojure Distributable"))
  (.pack)
  (.show))
Run Code Online (Sandbox Code Playgroud)

我想,无论是否已经安装了Java,它的答案都会有很大的不同.

Ham*_*aya 5

对于Mac Os x,默认安装java,Apple提供JarBundler,允许您将jar转换为本机os x应用程序.OS X应用程序不使用安装程序.

对于Windows,Launch4j是一个不错的选择,它会将你的jar包装成带有图标的.exe,如果没有下载,它会检查java是否已安装.对于Windows安装程序,我推荐NSIS(winamp的安装程序).

对于Linux,jar文件+ bash脚本.