我有一个简单的项目结构:
Base Dir
src ;; Pile of Clojure files
lib ;; Jar files
要导出类路径: $ export CLASSPATH=$CLASSPATH:src:lib/*
尝试运行 Clojure 文件:
java -cp $CLASSPATH -jar lib/clojure.jar src/wizard-game.clj
但是我得到了:
Exception in thread "main" java.io.FileNotFoundException: Could not locate clojure/contrib/trace_init.class or clojure/contrib/trace.clj on classpath:
Caused by: java.io.FileNotFoundException: Could not locate clojure/contrib/trace_init.class or clojure/contrib/trace.clj on classpath:
好的,这是一个类路径问题,但我做错了什么/哪里做错了?
有没有更好的方法来尝试运行它?
更新:
我试过这个命令:
java -classpath $CLASSPATH clojure.main src/wizard-game.clj
现在运行正常。
最佳答案
来自关于 -jar
选项的 java
手册页:
When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored.
所以这有点令人失望,但好消息是您可以通过使用不同的启动语法 (referenced at clojure.org) 来解决这个问题:
java -cp $CLASSPATH clojure.main src/wizard-game.clj
或者,使用类似 Leiningen 的工具为您管理项目的类路径和依赖项!
关于clojure - 为 Clojure 项目设置 CLASSPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5453462/