5

Mavenを使用してjarをダウンロードしてインストールしました(ここで回答済み)が、プロジェクト内でそれを要求する必要があります。git README( )の指示に従いましたが、(require '[clj-http.client :as client])それでもこのエラーが発生します。

FileNotFoundException Could not locate clj_http/client__init.class or clj_http/client.clj on classpath:   clojure.lang.RT.load (RT.java:430)
4

3 に答える 3

5

このスレッドの他の回答は確かに機能します....しかし、マシンのCLASSPATHまたはコマンドラインにjarを直接追加することは、開発にとって非常に難しい戦略になる可能性があります. . .

clojure アプリに jar を含める最も一般的で慣用的な方法はLeiningenです(簡単で、github に 1 ステップでインストールできます。初心者の方は、この回答の最後にある警告を確認する必要があります)。Leiningen は clojure 環境をインストールすることもできます。適切な jar 環境がプリロードされた repl を起動します。

これは基本的に Java 依存関係マネージャーとビルド ツールを 1 つにまとめたものです。つまり、Java 開発に使用する ivy や Maven Pom.xml のようなものです。

シンプルでスケーラブルな方法で複数のライブラリと対話するために Leiningen を使用する方法のいくつかの例:

project.clj ファイル内の jar が classpath にあるように、repl を起動するには:

lein repl

project.clj で指定された Maven リポジトリの jar を更新するには、次のようにします。

lein deps

最後に、lein は「fatjar」に似た「uberjar」をエクスポートします。つまり、すべての依存関係がバンドルされています。

新しい Lein バージョンに関するマイナー アップデート: 初心者向けの注意事項。

Leiningan をインストールするために実行できるスクリプトが 2 つあります。これを実行する方が安全かもしれません。

https://github.com/jayunit100/leiningen/blob/stable/bin/lein (安定版リリース)

これよりも:

https://raw.github.com/technomancy/leiningen/preview/bin/lein (最新の更新、プレビュー)。

于 2012-05-30T17:54:35.320 に答える
5

Javaプロセスを開始するときは、次のことを行う必要があります。

java -cp ./lib/clj-http.jar ./lib/clojure.jar clojure.main

基本的に、クラスパスには clojure.jar (REPL がある場所) と clj-http.jar の両方が必要です。

clj-http.jar が ./lib/ ディレクトリにあると仮定します。または、lein (maven に似たビルド ツール) を使用してプロジェクトをビルドし、uberjar をビルドすることもできます。http://zef.me/2470/building-clojure-projects-with-leiningenには、lein をセットアップして uberjar をビルドするための非常に優れたウォークスルーがあります。

于 2012-05-30T14:44:40.690 に答える
1

clojure repl を起動する前に clj-http.jar を CLASSPATH または CP に追加してください。

于 2012-05-30T14:27:31.490 に答える