1

私はclojureに非常に慣れていないので、数時間後にNetbeans/EnclojureとEclipse/Counterclockwiseをいじって、ついにEclipse/Counterclockwiseに設定しまし

しかし、REPLでは、Clojureバージョン1.2を入手していますが、私のシステム(Macportsを使用)で動作しているのは1.3です。

Eclipse / Counterclockwiseにこのバージョンを使用させるにはどうすればよいですか?シンタックスハイライトルールと他のマイナーなものを除いて、基本的にClojureについての設定には何も見つかりません。

4

1 に答える 1

3

基本的に、Eclipse / CCW REPLが使用するClojureバージョンは、REPLを開始するプロジェクトのクラスパスに含まれているClojureバージョンです。プロジェクトの参照ライブラリにそれを含めると、REPLはそのバージョンのClojureで開始されます。

これを含めるには、パッケージエクスプローラーでプロジェクト名を右クリックし、[プロパティ]>[Javaビルドパス]>[Jarの追加]>[(Macport)clojurejarファイルを参照]>[完了]を選択します。

ただし、すべての外部ライブラリとそれらが依存するライブラリ(JavaまたはClojureベース)に対してこれを行う必要があるため、これは面倒になる可能性があり、さらに悪いことに、配布用のプロジェクトを構築するときに機能しません。

構造的な方法でそれを行う最も簡単な方法は、LeiningenをLeiningenCCWプラグインと組み合わせて使用​​することです。まず、leiningenページに従ってLeiningenをインストールします。次に、を呼び出しlein plugin install lein-ccw "1.2.0"てleiningenCCWプラグインをインストールします。

新しいプロジェクトを開始する場合は、プロジェクトを配置する親ディレクトリにcdします。次に、を使用します。lein new projectnameこれにより、\projectnameサブディレクトリに新しいClojureプロジェクト構造が作成されます。

このプロジェクトのルートには、project.clj使用するライブラリと、それら自体が依存するすべてのライブラリを管理およびダウンロードするために使用されるファイルが作成されます(詳細については、leiningenサイトを参照してください)。Clojureへの参照は、デフォルトでそこに配置さlein newれます。

ライブラリはローカルライブラリリポジトリに保存されるため、ディスクに書き込まれるのは1回だけです。

\ projectnameサブディレクトリにcdして実行するlein depsと、leiningenは現在の依存関係(この場合はclojureのみ)をダウンロードし、リポジトリに配置します。

ここでを実行するlein ccwと、ccwleinプラグインがEclipseプロジェクトとクラスパスファイルを作成および更新します。

この後、メニュー[ファイル]>[インポート]>[一般]>[既存のプロジェクトをワークスペースにインポート]>[ルートディレクトリ]を選択>[プロジェクトの場所を参照]>[完了]を選択して、Eclipseでプロジェクトを開くことができます。

プロジェクトに新しいライブラリが必要な場合は、ライブラリデータをproject.clj依存関係セクションに配置するだけです。他のライブラリの依存関係の表記とバージョン番号は、ClojarsサイトまたはGithubreadmeのライブラリにあります。

次に、lein depsプロジェクトディレクトリから再度実行して、正しいライブラリをダウンロードしてインストールし、lein ccwEclipseプロジェクトとクラスパスファイルを更新します。Eclipse Package Explorerでプロジェクトツリーを更新すると、必要なすべての新しいライブラリを含め、プロジェクトが再び最新の状態になります。

このガイドlein ccwに従うか、と同じ方法で実行コマンドを作成するか、または追加することで、Eclipseで「外部実行構成」を作成することにより、上記の段落の手順を自動化することもできますlein deps。このように、project.cljを編集した後にボタンを1つ押すだけで、すべてのステップがEclipseによって実行されます。

これらの基本的な手順のコツをつかんだら、配布/展開用のプロジェクトの構築など、Leiningenの他の使用法の調査を開始できます。

于 2012-03-18T00:40:17.357 に答える