(compile 'hoge.fuga)でコンパイルできない

Programming Clojureを読みながらclojureの勉強中である。

hoge/fuga.cljをコンパイルしようと、

(compile 'hoge.fuga)

を実行すると、ClassNotFoundException例外が発生した。
コンパイルしたいcljソースファイルと、コンパイルされたクラス出力ディレクトリはclasspathを通さないと駄目だった。

ソース格納ディレクトリ c:\home\workspace\clj_src
(この下にhoge\fuga.cljを作成)
クラス出力ディレクトリ c:\home\workspace\classes
とすると、先日のclj.batは以下のように修正する。

@echo off
set OPT_DIR=c:\home\opt
set CLOJURE_DIR=%OPT_DIR%\clojure
set CLOJURE_JAR=%CLOJURE_DIR%\clojure.jar
set CLOJURE_CONTRIB_JAR=%OPT_DIR%\clojure-contrib\clojure-contrib.jar
set JLINE_JAR=%OPT_DIR%\jline-0.9.94\jline-0.9.94.jar
rem .clj格納ディレクトリ
set CLJ_SRC_DIR=c:\home\workspace\clj_src
rem クラス出力ディレクトリ
set CLJ_CLASS_DIR=c:\home\workspace\classes

IF (%1)==() (
    java -cp %JLINE_JAR%;%CLOJURE_JAR%;%CLOJURE_CONTRIB_JAR%;%CLJ_SRC_DIR%;%CLJ_CLASS_DIR% jline.ConsoleRunner clojure.main
) ELSE (
    java -cp %CLOJURE_JAR%;%CLOJURE_CONTRIB_JAR%;%CLJ_SRC_DIR%;%CLJ_CLASS_DIR% clojure.main %1 -- %*
)

.emacsのslimeの設定も同様に、修正する。

(setq swank-clojure-jar-path "~/opt/clojure/clojure.jar"
      swank-clojure-extra-classpaths (list
				      "~/opt/swank-clojure/src/main/clojure"
				      "~/opt/clojure-contrib/clojure-contrib.jar"
				      "~/workspace/clj_src"
				      "~/workspace/classes"))

なお、コンパイルしたクラスファイルの出力先は *compile-path* に設定されている。