为Clojure项目设置CLASSPATH

Chi*_*ron 2 jvm clojure jvm-languages classpath

我有一个简单的项目结构:

Base Dir
   src ;; Pile of Clojure files
   lib ;; Jar files
Run Code Online (Sandbox Code Playgroud)

要导出类路径:$ export CLASSPATH = $ CLASSPATH:src:lib/*

试图运行一个Clojure文件:java -cp $ CLASSPATH -jar lib/clojure.jar src/wizard-game.clj
但是我得到了:

线程"main"中的异常java.io.FileNotFoundException:找不到类路径上的
clojure/contrib/trace_init.class 或clojure/contrib/trace.clj: 引起:java.io.FileNotFoundException:找不到clojure/contrib / classpath上的trace _init.class或clojure/contrib/trace.clj:

好吧,这是一个类路径问题,但是我做错了什么/哪里?

有没有更好的方法来尝试运行它?

更新:
我试过这个命令:

java -classpath $ CLASSPATH clojure.main src/wizard-game.clj

现在运行正常.

trp*_*lin 7

java有关-jar选项的手册页:

使用此选项时,JAR文件是所有用户类的源,并忽略其他用户类路径设置.

所以这有点令人失望,但好消息是你可以通过使用不同的启动语法来解决这个问题(在clojure.org上引用):

java -cp $CLASSPATH clojure.main src/wizard-game.clj
Run Code Online (Sandbox Code Playgroud)

或者,使用像Leiningen这样的工具来管理项目的类路径和依赖项!