Clojure、Scala、JRuby、ビルドツールなどを使用してJavaプロジェクトをREPLに後付けし、すばやく実験するのに役立つと思われる手法は何ですか?
プレーンオールドJavaプロジェクト(POJOプロジェクト?)で作業する必要があり、REPLがないことがよくあります。他の SOの質問はこのトピックに対処しますが、これらは数年前のものであり、回答は日付が付けられています。
この問題を解決するために使用したいくつかのテクニックを提供することから始めます。
プロジェクトでMavenを使用している場合は、gmavenプラグインとそれに付随するmvn groovy:shell
ものが役立ちますが、正しく構成 するのは難しい場合があります。
Mavenを使用しないプロジェクトの場合、一般的なパターンは、依存関係をlibフォルダーに含め、それらを手動で管理することです。これらのために、私はgroovyを使用しました:
groovysh -cp `echo lib/*.jar | sed 's/ /:/g'`
...またはclojure:
java -cp /usr/local/Cellar/clojure/1.3.0/clojure-1.3.0.jar:`echo lib/*.jar | sed 's/ /:/g'` clojure.main
デフォルトのClojureラッパーはrlwrapで拡張することもできます。
この質問は主に、ビルド システムと、既存のビルド システムに REPL を組み込むよう説得する際の潜在的な複雑さに関するものです。sbtとLeiningenの両方について私が気に入っている点の 1 つは、どちらもそのままで REPL サポートを提供することです。残念ながら、既存のプロジェクトを Ant/Maven などからこれらのいずれかに移動するのは簡単ではないかもしれません。
しかし、既存のプロジェクトがすでに Maven または Ivy リポジトリに公開されている場合 (または、そう簡単にそうするように説得できる場合) は、新しい sbt または Leiningen プロジェクトを作成し、既存のプロジェクトによって公開されたアーティファクトをインポートすれば完了です。 ..