私はたくさんの検索をしましたが、かなりの回答がありました。これは "一般的な"問題であることを示しています...それでも解決できません。コンパイル後にコンパイルされたクラスを読み込めません
私は正常にクラスをコンパイルできます。これを行うために、私はこのbashスクリプトを持っている:
#!/usr/bin/env bash
if [[ $CLASSPATH ]] ; then
extra_classpath=""
else
extra_classpath=":$CLASSPATH"
fi
while true ; do
case "$1" in
-cp | -classpath)
extra_classpath=":$2"
shift 2 ;;
--)
shift
break ;;
*)
break ;;
esac
done
java -cp /usr/share/java/clojure.jar:./classes/:./src/"$extra_classpath" \
clojure.main "[email protected]"
これは基本的にDebianの上の閉鎖とデフォルトでインストールされているもののリメイクである、唯一のクラスパスにローカルディレクトリを追加しました。
私はこのようREPLを起動すると、私はそれから行うことができます。
user=> (compile 'tld.assignment.sum_calculator)
クラスファイルが./classes/tld.assignment.sum_calculator
で生成されている。しかし、私はロードすることはできませんコンパイルされたもの私は引数として完全修飾クラス名でこのスクリプトを実行しようとしました - 私はファイルが見つかりません。私はこのようなJavaを実行する場合:また
$ java -cp /usr/share/java/clojure.jar:./classes/ \
tld.assignment.sum_calculator 1 2
、すぐREPLから私はスラッシュに置き換えられドットでかつ効果なしにドットと、すべてをリードして、ファイル拡張子とせずに(load "tld.assignment.sum_calculator")
を試してみました - (load)
常に「成功」、リターンそれは終わりです:S
私はクラスdefを見つけることができません。私は何が間違っているのかわからない。 。
EDIT :(:ノイズのために申し訳ありません
、パスの一つの成功順列はそれを作った私はなぜさっぱりだが、私はclojure.jarで./classes/ディレクトリを交換した場合クラスパスでは、Javaの...