Clojure - 戒指uberjar指定端口

时间:2015-09-03 12:26:31

标签: clojure leiningen compojure ring

如何生成侦听给定端口的独立环uberjar

开发时我使用以下leiningen / ring命令启动我的应用程序,我可以在其中指定端口:

lein with-profile dev ring server-headless 9696

现在我想部署它,所以我跑了:

lein with-profile prod ring uberjar 9696

但我收到了一个错误:

Error encountered performing task 'ring' with profile(s): 'prod'
clojure.lang.ArityException: Wrong number of args (2) passed to: uberjar/uberjar

所以我在:port中添加了project.clj

:ring    {:handler img-cli.handler/handler
          :init    img-cli.handler/init
          :destroy img-cli.handler/destroy
          :port    9696}

lein with-profile prod ring uberjar
java -jar my-jar.jar

然后我在日志中看到:Started server on port 3000

如何使用我想要的端口生成uberjar

注意:以防万一,我使用compojure

1 个答案:

答案 0 :(得分:1)

事实证明,我对个人资料的使用存在问题。

仔细观察profile documentation产量:

  

要激活除默认值之外的配置文件,请在其前面添加   +:

     

<div class="bigDiv"> <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> </div>

因此我必须使用$ lein with-profile +server run(注意lein with-profile +prod ring uberjar 9696)。