Clojure Web 开发从零开始 之一 第一个Clojure 应用程序

1 项目准备

  1. 安装Java SDK
  2. 下载lein (https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein),并放到PATH 里面(e.g. ~/bin)
  3. 设置lein 为可执行文件 (chmod a+x ~/bin/lein)
  4. 测试下面两个命令都可以正常执行
$ java -version
$ lein

2 新建一个新文件夹并命名(clj-httpbin),然后初始化git repo

$ mkdir clj-httpbin
$ cd clj-httpbin
$ git init

3 创建项目文件 project.clj

(defproject clj-httpbin "0.1.0"
  :description "Clojure httpbin clone"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.10.1"]])
$ lein repl  ; 测试Clojure repl 可以正常运行

4 建立第一个Clojure 源代码文件 (src/clj_httpbin/core.clj).

(ns clj-httpbin.core)

(defn -main []
  (println "Hello, World!"))

5 添加程序入口

在project.clj 文件:dependencies 之前添加下面的代码

:main clj-httpbin.core

执行下面的命令,测试程序可以正常执行

$ lein run

6 生成可执行Jar 文件

将 src/clj_httpbin/core.clj 文件第一行由

(ns clj-httpbin.core)

改成:

(ns clj-httpbin.core
  (:gen-class))

然后执行下面的命令:

$ lein uberjar

这时在target 目录下,会有两个Jar 文件生成:clj-httpbin-0.1.0.jar 和 clj-httpbin-0.1.0-standalone.jar

用Java 来运行Jar 文件:

$ java -jar target/clj-httpbin-0.1.0-standalone.jar

这时应该出现正确的程序运行结果.

Hello, World!

到此,我们已经完成了最基本的Clojure 程序结构。从下一篇文章开始我们会一点一点的给这个程序添加新的功能。


© 2015-2020 tendant