我一直在努力与leiningen一起构建一个独立的.jar。虽然已经通过github和Alex Ott's Website以及一些相关问题的例子,但我无法弄清楚如何正确设置项目。在项目做lein uberjar
后,它抱怨leinigen中的类路径问题
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程序员,也不是很习惯classpath问题;快速和肮脏的帮助非常感谢。
你有没有运行雷音DEPS?你能从我的脚本脚本中找到这样的jar文件吗?CLOJURE_JAR =“$ HOME/.m2/repository/org/clojure/clojure/1.2.1/clojure-1.2.1.jar” – octopusgrabbus 2012-01-12 19:27:45