web-dev-qa-db-ja.com

EclipseにSBTからの依存関係を認識させる方法

SBTを使用して取得した依存関係をEclipseに認識させる方法を見つけようとしていますか? SBTは正しい依存関係をダウンロードし、〜/ .ivyディレクトリに配置しますが、Eclipseはそれらを表示しません。これを行う方法はありますか?

ありがとう

55
chiappone

これはおそらくあなたが探している答えではなく、エレガントではないことを認めますが、現在は私にとってうまく機能しています。つまり、よりエレガントなソリューションを調査して見つけるのではなく、定期的に次のことを行う方が時間がかからないと思います。

Sbt-Eclipseプラグイン( https://github.com/typesafehub/sbteclipse )を使用していると思います。プロジェクトに新しい依存関係を追加するとき(実際には非常にまれですが)、プラグインからEclipseプロジェクトファイルを再生成するだけです。この欠点は、複数のモジュールプロジェクトがあり、Eclipseでプロジェクトを更新した後、Eclipseビルドパスエディターでプロジェクト間の依存関係を再追加する必要があることです。

私が言ったように、それはかなりハッキーですが、全体として私はそれをするのにそれほど多くの時間を本当に失いません。きれいではありませんが、動作します。

幸運を祈ります、アンディ

32
Andrew

Sbteclipseプラグインを使用している場合は、簡単な方法で実現できます。 sbtタイプ:

リロード
Eclipse with-source = true

次に、Eclipseで、プロジェクトフォルダーでF5キーを押して更新します。または、右クリックして「更新」を選択します。ただ動作します。

87
Arty

Apache IvyDE Eclipseのプラグインを使用しますが、このアプローチにはさらに幸運があります。 古いsbtのドキュメントに記載されている だけですが、sbt 0.11で動作します

最初に、IvyDEプラグインをEclipseにインストールして再起動します。

Sbtコマンドdeliver-localを実行します-これにより、依存関係のXML ivyファイルが作成されます。

Eclipseのプロジェクト/プロパティ-Java Build Path-Libraries]で[Add Library]をクリックし、[IvyDE Managed Dependencies]を選択して、ファイルtarget/scala-2.9.1/ivy-を選択します。 projectversion。xml

Build.sbtに新しい依存関係を追加したら、sbtコマンドreloadおよびdeliver-localを再度実行します。次に、パッケージエクスプローラーでプロジェクトのIvyライブラリを右クリックします-「target/scala-2.9.1/ivy-projectversion」という名前になります。 xml [compile、test]」をクリックし、2番目の「Refresh」メニュー項目をクリックします(「Refresh」と「Reload Settings」の間-not「F5 Refresh」 ")。

14
cathalmcginley

コマンドプロンプトでプロジェクトフォルダに移動して入力します

sbt Eclipse

これにより、Eclipseプロジェクトに適切な。classpathエントリが生成されます。

Eclipseに戻り、プロジェクトを選択してf5を押すと、参照されているライブラリが再ロードされます。

7
aspdeepak

必要なのは、プロジェクトのホームから実行することだけです。

sbt "Eclipse with-source=true"

またはsbt consoleと入力して、次のように記述します。

Eclipse with-source=true

ところで:12年1月から何かが変わったかどうかはわかりませんが、今ではもっと簡単に思えます。

1
freedev

以下は私のために働く:

1)Eclipseでプロジェクトを閉じる

2)ファイルエクスプローラーで、Eclipseプロジェクトを参照し、隠しファイルが表示されていることを確認します

3)簡単なテキストエディターで.classpathを開く

4)一番下のエントリをコピーします。たとえば、私の現在のプロジェクトでは、<classpathentry path="/home/natalie/.ivy2/cache/org.scalatest/scalatest_2.9.1/jars/scalatest_2.9.1-1.8.jar" kind="lib"></classpathentry>

5).ivyフォルダーに移動してキャッシュし、sbt経由で追加したライブラリに移動します

6)jarファイルを右クリックし、プロパティを選択し、パスとjarファイル名をコピーして、手順4でコピーしたエントリで置き換えます

7).classpathを保存する

8)Eclipseでプロジェクトを開く

Eclipseで新しい依存関係が利用可能になりました。

0
FreewheelNat