2012-04-09 24 views
2

私はSBTで新しく、私はIntellijIDEAに自分の仕事を移行することを考えています。SBT依存関係にJava未完プロジェクトを追加する

私はeclipseを使用して作成したJavaプロジェクトを持っていますが、今はscalaでそれを使用したいと思います。

しかし、そのJavaプロジェクトは絶えず変化しており、毎回jarをコンパイルしてlibフォルダに入れたくありません。

この依存関係を追加する簡単な方法はありますか?

答えて

4

するのは、次の2つのプロジェクトがあるとしましょう:

1)/main-projectでは、あなたが/other-projectでラインname := "main-project-id"

2)を含むbuild.sbtを持って、あなたはbuild.sbtラインname := "other-project-id"

を含むを持っているあなたは、作成することができますメインプロジェクトからその他のプロジェクトへのファイルの追加による依存関係/main-project/project/Build.scala

import sbt._ 
import Keys._ 

object MainProjectBuild extends Build { 
    lazy val main = Project(id = "main-project-id", base = file(".")) dependsOn(other) 
    lazy val other = Project(id = "other-project-id", base = file("other-project")) 
} 

/other-projectへのリンクを/main-projectの内側に追加します。ような何か:/main-project/other-project/

cd /main-project 
ln -s ../other-project other-project 

あなたが今というディレクトリ内other-projectを持つように。

sbt compileまたは/main-projectの中で実行すると、期待どおりに動作します。

EDIT

異なる、おそらく簡単な方法は、ちょうど彼らが同じソースディレクトリにあるように見えますあなたのJavaソースへのリンクを作成することです。だから、

あなたのScalaのコードが/main-project/src/main/scala/somepackage/...にあり、Javaコードが/other-project/src/main/java/otherpackage/...であり、そして、あなたが行うことができれば:

cd /main-project/src/main 
ln -s /other-project/src/main/java java 

そのディレクトリ/main-project/src/main/javaだけの依存元を指すされますが、SBTは、それを構築しますすべて一緒に。

+0

うーん...別のbuild.sbtを作成するか、ディレクトリの動作を指摘することが本当に必要ですか?また、本当にフォルダを 'main-project /'フォルダに移動する必要がありますか? –

+0

@Tiago、おそらくもっと簡単なアイデアで編集 – dhg

+0

私は仕事をしたいときはいつでも電話しなければなりませんか?単純には見えません。私はまだプロジェクトの場所を移動する必要があるという問題があります。しかし、確かに私は複雑にしたくありません。私はIntellijに移動しようとしてみましょう。両方のオプションをありがとう。 –

関連する問題