10

実行中のClojure REPLで、以前は指定されていなかった Maven 依存関係をダウンロードしてインストールすることは可能ですか?

いくつかのテストまたは視覚化ツールのために一時的に依存関係をすばやく取り込みたいが、現在の REPL セッションを閉じたくないというかなり一般的なケースを考えています。

たとえば、現在の REPL セッションでデータのきれいなグラフを描画するために Incanter を取り込みたい場合は、次のようなものを使用できます。

(load-dependency "incanter" "incanter" "1.3.0-SNAPSHOT")

;; now do stuff with Incanter......

おそらく、適切なリポジトリからMavenまたはLeiningenで依存関係の解決/読み込みをトリガーする必要がありますが、実行時にこれが可能かどうかを知るには、それらの内部について十分に知りません.....

4

2 に答える 2

6

Java のデフォルトのクラスローダの動作はこれを困難にしますが、ポメグレネード (実際にはザクロ)は、あなたが望むことを行うことができると主張しています。

于 2011-10-10T10:25:27.280 に答える
6

Alembicは、この機能を repl に追加する leiningen プラグインです。

README からの直接引用:

Alembic は、実行中の JVM インスタンスのクラスパスに jar を抽出できるようにする clojure ライブラリです。これを使用して、アドホックな方法で、または project.clj ファイルをリロードして、実行中の REPL に依存関係を追加できます。

また、その場で不足している依存関係(load-project)を解析して追加する関数も追加します。project.clj

于 2013-09-23T12:59:12.570 に答える