【发布时间】:2026-01-09 09:50:02
【问题描述】:
我一直在努力用 leiningen 构建一个独立的 .jar。尽管浏览了github 和Alex Ott's Website 上的示例以及一些相关问题,但我无法弄清楚如何正确设置项目。在它抱怨的项目中做lein uberjar之后
Could not locate clojure/contrib/string__init.class or clojure/contrib/string.clj on classpath: (collision.clj:1)
我的项目目录是这样的
.
├── classes
├── lib
│ ├── clojure-1.2.1.jar
│ └── clojure-contrib-1.1.0.jar
├── project.clj
└── src
└── collision
└── collision.clj
我的project.clj:
(defproject collision "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.2.1"]
[org.clojure/clojure-contrib "1.1.0"]]
:main collision.collision)
collision.clj:
(ns collision.collision
(:require
clojure.set
clojure.string
[clojure.contrib.string :as st]
[clojure.contrib.str-utils :as su]
[clojure.contrib.combinatorics :as cmbn]))
... defns ...
(defn -main []
(...))
(-main)
代码适用于 REPL。我如何告诉 leiningen 在哪里可以找到clojure-contrib-1.1.0.jar?我不是 Java 程序员,也不是很习惯类路径问题;非常感谢快速而肮脏的帮助。
【问题讨论】:
-
你运行过 lein deps 吗?你能从我的 lein 脚本 CLOJURE_JAR="$HOME/.m2/repository/org/clojure/clojure/1.2.1/clojure-1.2.1.jar"中找到适当的 .m2 目录下的 jar 文件吗? >
标签: clojure classpath leiningen