代码之家  ›  专栏  ›  技术社区  ›  Belun

运行Clojure程序

  •  20
  • Belun  · 技术社区  · 14 年前

    假设我在clojure中创建了一个程序,我必须将它交付给客户机。客户确实有一些计算机知识,但他不知道/不想启动repl、加载我的程序并运行它。他想双击一个exe文件或运行一个shell脚本

    4 回复  |  直到 14 年前
        1
  •  21
  •   A. Levy    14 年前

    你有几个选择:

    • lein uberjar
    • 您也可以将项目打包到一个不可执行的jar(没有主类)中,并创建一个shell脚本/批处理文件来执行适当的类。 java -cp ./clojure.jar:./myprogram.jar com.my.runthis.class
    • java -cp ./clojure.jar:./myprogram.jar clojure.main -e "(in-ns 'your-ns)(start-your-program)" -r
        2
  •  8
  •   Hamza Yerlikaya    14 年前

    最简单的方法是让leiningen为您处理jar,它会将所有内容打包到一个胖jar中,这就是您所需要交付的所有内容,就像任何其他java应用程序一样。客户所要做的就是双击它。如果你需要一个.exe文件 launch4j 可以为您创建它,它还可以处理JRE安装,因为它还没有安装在客户机上。你不需要任何bash脚本等。

        3
  •  6
  •   Alex Ott    14 年前

    我个人使用maven来创建独立的jar和所有依赖项,声明main类-这简化了使用“java-jar-your-jar-file”命令运行它的过程。我还使用Izpack为我的程序创建安装程序

        4
  •  2
  •   Damon Snyder    13 年前

    我找到的最好的方法是 cake bin