2017-01-10 10 views
0

私はsbtを使ってビルドされたスカラプロジェクトを持っています。 sbtを使用してビルドされている別のプロジェクトをインポートしたいのですが、これは自分のマシン上でローカルになっています。ローカルプロジェクト `dependOn`の未解決の依存関係

マイプロジェクト構造は次のようになります。

my-project/build.sbt 
my-project/external-project/ 
my-project/external-project/build.sbt 
my-project/external-project/... 
my-project/src/test 
my-project/src/main 
my-project/... 

build.sbtは次のようになります。

lazy val root = Project("my-project", file(".")) 
    .dependsOn(RootProject(file("./external-project/"))) 
    .settings(
    ... 
    ) 

を、これはsbt "compile"は、外部プロジェクトがある私

[warn] Binary version (2.11) for dependency org.scala-lang#scala-library;2.11.8 
[warn] in my-project#my-project_2.10;0.1-SNAPSHOT differs from Scala binary version in project (2.10). 
[info] Resolving externalproject#externalproject.10;0.1 ... 
[warn] module not found: externalproject#externalproject.10;0.1 
[warn] ==== local: tried 
[warn] /home/martin/.ivy2/local/externalproject/externalproject_2.10/0.1/ivys/ivy.xml 
[warn] ==== public: tried 
[warn] https://repo1.maven.org/maven2/externalproject/externalproject_2.10/0.1/externalproject_2.10-0.1.pom 
[info] Resolving com.github.scopt#scopt_2.11;3.5.0 ... 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: externalproject#externalproject_2.10;0.1: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] 
[warn] Note: Unresolved dependencies path: 
[warn]  externalproject:externalproject_2.10:0.1 
[warn]  +- my-project:my-project_2.10:0.1-SNAPSHOT 

に与えるものですgit submodule。いずれのプロジェクトもMavenを使用していません。

my-projectのファイルは、external-projectのスカラーファイルをインポートできますが、動作させることはできません。私は間違って何をしていますか?プロジェクトを再構築する必要はありますか?

+0

'RootProject(file(" ./ external-project/"))'を 'file(" external-project ")に置き換えて、もう一度やり直すことができますか? – tkachuko

+0

私はこれを最初に試みました。唯一の違いは '/...../my-project/build.sbt:4:警告:オブジェクトReferenceのfileToRefメソッドは廃止予定です:明示的にRootProjectの呼び出しでファイルをラップします。 .dependsOn(file( "./ fpga-tidbits /")) 'は出力として投稿したものの上に書かれています。 – MartinHaTh

+0

'external-project'のプロジェクト定義も共有できますか? – tkachuko

答えて

1

現在のプロジェクトにはscalaVersionが指定されていません。既定値は2.10です。あなたの外部プロジェクトについては、シリーズからscalaVersionを指定しました。これはアーティファクトの名前で表示されますexternalproject_2.10_2.10サフィックスはアーティファクトが作成されたScalaバージョンを表します。あなたの外部プロジェクトはScala 2.10のアーティファクトを提供しないため、このエラーが発生します。 Scalaのメジャーリリースはバイナリ互換ではないため、それらを結合することはできません。

これを修正するには、build.sbtscalaVersion := "2.11.8"にScalaのバージョンを指定します。

関連する問題