没有码头的环/组合

Kev*_*vin 8 clojure compojure ring leiningen

我知道可以使用创建war文件lein ring war,但它似乎仍然包含jetty依赖项.当我构建战争(并在tomcat上部署)时,有没有办法排除jetty依赖项?

如果我不能做到这一点,或者只是额外的罐子/类文件被打包到战争中但从未真正使用过?

sw1*_*1nn 5

Leinigen支持:依赖项中的排除项.

(defproject my-project "1.0.0"
     :dependencies [[org.clojure/clojure "1.2.0"]
                    [org.clojure/clojure-contrib "1.2.0"]]
     :dev-dependencies [[autodoc "0.7.1" :exclusions [org.apache.ant/ant]]])
Run Code Online (Sandbox Code Playgroud)

详情请见此处.

通常问题在于依赖关系的来源.在maven你可以这样做:

mvn dependency:tree 
Run Code Online (Sandbox Code Playgroud)

获得依赖树的有用的ASCII艺术表示.

一种选择是使用生成项目的pom.xml

lein pom
Run Code Online (Sandbox Code Playgroud)

然后在那上面运行maven.

  • Leiningen现在能够使用`lein deps:tree`直接打印依赖树.没有更多的Maven poms! (3认同)