1 lein配置文件的层级

  1. 系统级:/etc/leiningen/profiles.clj
  2. 用户级:~/.lein/profiles.clj
  3. 项目级:project.clj
  4. 项目级:profiles.clj

1至4中配置优先级 升序.

2 具体配置

配置示例:

{:user {:dependencies [[alembic "0.3.2"]]
:repositories ^:replace [["local" "http://10.37.129.5:8081/content/groups/public/"]
["snapshots" "http://10.37.129.5:8081/content/repositories/snapshots/"]
["releases" "http://10.37.129.5:8081/content/repositories/releases/"]]}
}

前缀 含义
:dev 在builds和tests时生效
:base  
:provided 不会对依赖此项目的项目生效
:default 默认配置, 默认情况下是[:base :system :user :provided :dev]的合集
:test 在执行test task 的时候生效
:repl 在执行repl task 的时候生效

2.1 :dev :user :system

他们三者的含义相同, 但是要写在不同层级的配置文件中:

  1. 系统级:/etc/leiningen/profiles.clj :system
  2. 用户级:~/.lein/profiles.clj :user
  3. 项目级:project.clj :dev
  4. 项目级:profiles.clj

3 profile metadata

如下示例, 配置profile时可以配置类似^:replace的源数据

{:profiles {:dev {:prep-tasks ^:replace ["clean" "compile"]
:aliases ^:displace {"launch" "run"}}}
}

metadata 说明
^:replace 代表此配置优先级最高
^:displace 此配置优先级最低