【发布时间】:2015-01-03 10:51:09
【问题描述】:
我有一个lein 项目。当我运行这个时:
lein clean && lein deps && lein with-profile deploy compile
我在target/classes 下看到很多类文件等,但是当我运行时
lein jar
类文件被删除,生成的jar中不包含它们,实际上它只有META-INF目录和project.clj。这里会发生什么?我的部署配置文件如下所示:
{:deploy {:jvm-opts ^:replace ["-Xmx1g"] :aot ^:replace [some.namespace]}
我以前从未见过或听说过这种情况,我使用的是 Leingingen 2.5.0 和 Clojure 1.5.1,而 Google 搜索却一无所获。接下来我可以尝试什么?
更新:此问题在 Lein 2.2 中不会出现,但在 2.5 中会出现。作为附加信息,2.2 将生成 jar 和 provided 目录。可能发生了哪些重大变化?
UPDATE2:将配置文件名称从 :deploy 更改为 :provided 似乎可以解决问题。
【问题讨论】:
-
您的 project.clj 中有 :aot 条目吗?
-
顺便说一句,您可以使用
do命令链接其他人,例如:lein with-profile deploy do clean, deps, deploy, compile。这也适用于 project.clj 中的:aliases,非常方便。
标签: java jar clojure compilation leiningen