2012-04-30 14 views
1

私はScalaでPlay 2を使用しています。いくつかの依存関係を設定すると、SBTのバグをくすぐっていると思います。他に誰もこのようなことを見た?scalaVersionsが異なるとSBTの依存関係にエラーが発生する

val knockoff = RootProject(uri("git://github.com/tristanjuricek/knockoff.git")) 

val main = 
    PlayProject(appName, appVersion, appDependencies, mainLang = SCALA) 
    .dependsOn(knockoff) 

をし、それを実行します。

は、私は、このようにBuild.scala as directed,knockoffを追加しよう。何らかの理由で、ソースとjavadocのjarファイルを探します。 (なぜ?)

[warn] [NOT FOUND ] com.tristanhunt#knockoff_2.9.1;0.8.0-16!knockoff_2.9.1.jar(src) (88ms) 
[warn] ==== Typesafe Releases Repository: tried 
[warn] http://repo.typesafe.com/typesafe/releases/com/tristanhunt/knockoff_2.9.1/0.8.0-16/knockoff_2.9.1-0.8.0-16-sources.jar 
[warn] [NOT FOUND ] com.tristanhunt#knockoff_2.9.1;0.8.0-16!knockoff_2.9.1.jar(doc) (86ms) 
[warn] ==== Typesafe Releases Repository: tried 
[warn] http://repo.typesafe.com/typesafe/releases/com/tristanhunt/knockoff_2.9.1/0.8.0-16/knockoff_2.9.1-0.8.0-16-javadoc.jar 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::    FAILED DOWNLOADS   :: 
[warn] ::^see resolution messages for details^:: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: com.tristanhunt#knockoff_2.9.1;0.8.0-16!knockoff_2.9.1.jar(src) 
[warn] :: com.tristanhunt#knockoff_2.9.1;0.8.0-16!knockoff_2.9.1.jar(doc) 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 

これらの欠落しているjarが致命的ではありませんが、彼らは以下のとおりです。依存関係の仕事として

[error] download failed: com.tristanhunt#knockoff_2.9.1;0.8.0-16!knockoff_2.9.1.jar(doc) 
java.util.NoSuchElementException: Either.right.value on Left 
at scala.Either$RightProjection.get(Either.scala:229) 
at sbt.PlayCommands$$anonfun$56.apply(PlayCommands.scala:606) 
at sbt.PlayCommands$$anonfun$56.apply(PlayCommands.scala:593) 
at sbt.Command$$anonfun$sbt$Command$$apply1$1$$anonfun$apply$6.apply(Command.scala:74) 
at sbt.Command$.process(Command.scala:92) 

他のプロジェクト:

[error] {file:/home/joel/TEST2/bar/}bar/*:update: sbt.ResolveException: download failed: com.tristanhunt#knockoff_2.9.1;0.8.0-16!knockoff_2.9.1.jar(src) 
[error] download failed: com.tristanhunt#knockoff_2.9.1;0.8.0-16!knockoff_2.9.1.jar(doc) 
[error] java.util.NoSuchElementException: Either.right.value on Left 
[error] Use 'last' for the full log. 

は、ここでスタックトレースの一部です罰金ですが、これはありません。

+0

SBTクラシファイアは、リリースjarにのみ依存し、ソースまたはjavadocには依存しません。これを参照してください:https://github.com/harrah/xsbt/wiki/Library-Management – Brian

+0

その依存関係を持つ標準(非Play)sbtプロジェクトは、このエラーを「更新」に表示しません。スタックトレース(投稿してくれてありがとう)から、PlayCommandsの問題はパッケージ名にかかわらずsbtから来ていないようです。 –

+0

良いアイデア、私は結果を複製することができるかどうかを確認するために最小限のsbtプロジェクトを設定しようとしましたが、私は同じことを見ています。あなたはプロジェクト[ここ](https://github.com/truher/sbt-dependency-test)を見ることができます。それはsbtのdocからのちょうど「こんにちは」プロジェクトで、この1つのRootProjectの依存関係が追加されています。コンソール出力をREADMEに貼り付けました。どう思いますか? –

答えて

4

Ugh。あなたの時間を無駄にして申し訳ありません、Interwebs。

「親」プロジェクトと「子」プロジェクトで異なるスケーラビリティが指定されていた問題がありました。

親は2.9.1、小児2.9.2であった。いずれか一方を他方と同じに変更すると、この問題が解決されます。

+0

しかし、ここでは2つの潜在的に有用な問題があると私は信じています。まず、遊びはこのような役に立たないメッセージで死ぬべきではありません。第二に、私はsbtがより良いエラーメッセージを提供するか、まったくエラーではなく、おそらく警告を出さなければならないと信じています。第二に、sbtのバグを開いてください。 –

+0

良いアイデア、完了。 –

+1

@joeltruher実際には、私のために多くの時間を節約しました;) –

関連する問題