2015-09-22 24 views
13

Sbtアセンブリをインストールしようとしていますが、今は止まっています。 Sbtアセンブリの未解決の依存関係、Scala

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.0") 
    resolvers += Resolver.url("bintray-sbt-plugins", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns) 

build.sbt

scalaVersion in ThisBuild := "2.11.6" 

〜/ .sbt/0.13/global.sbt

scalaVersion := "2.11.6" 

assembly.sbt

Sbt Version (from 'sbt about'): 0.13.8 
Current project is built against scala 2.11.6 
Sbt, sbt plugins, and build definitions are using Scala 2.10.4 

プロジェクト/私はsbt-実現アセンブリーはスカラー2.10用です。私のプロジェクトをscala 2.10に変更した場合、私は望ましくない新しい2.10の依存関係を持っています。アセンブリプラグインのためだけに2.10を使用するようにプロジェクトを設定する方法はありますか?

==== bintray-sbt-plugins: tried 
    http://dl.bintray.com/sbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.11/sbt_0.13/0.14.0/ivys/ivy.xml 

    :::::::::::::::::::::::::::::::::::::::::::::: 
    ::   UNRESOLVED DEPENDENCIES   :: 
    :::::::::::::::::::::::::::::::::::::::::::::: 
    :: com.eed3si9n#sbt-assembly;0.14.0: not found 
    :::::::::::::::::::::::::::::::::::::::::::::: 

    Note: Some unresolved dependencies have extra attributes. 
    Check that these dependencies exist with the requested attributes. 

     com.eed3si9n:sbt-assembly:0.14.0 (scalaVersion=2.11, sbtVersion=0.13) 

答えて

10

global.sbtからscalaVersionを削除するだけです。

SBT 0.13はScalaの2.10を使用して構築されており、そのすべてのSBTのプラグインであるため、失敗したビルドファイルを、構築する際にはglobal.sbtからこのscalaVersionを使用していますSBT is recursiveので。

+0

をチェックしてください。メタビルドによって構築された成果物に使用したいScalaのバージョンを定義することが、そのビルドを実行するためにバージョンsbtを定義する必要があるのはなぜなかろうと、完全にはっきりしていません。これはドキュメントではっきりしていない*ため*たぶん迷惑です。 –

+0

それはもう一つの方法です:メタ構築はSBTライブラリを使う必要があります。 Scala 2.11はSBT 1.0で使用される予定です(それは軽微なリリースでは変更できません)。 –

+0

SBT 1.0がScala 2.11を使用するのは簡単ですが、タイムラインはまだ定義されていません。これは苦労しています。私は不思議です:私は問題に遭遇した理由は、自分のメタビルドが指定した 'scalaVersion'に適切なビルド定義を作成し、SBTがそれ?メタビルドでバージョンを指定しなくなったら、適切なビルドができました(私のメタビルドのライブラリ依存関係をハードコードしていると仮定して)。 (私はこれに関して一週間苦労しています:P) –

4

私のプロジェクトのルートディレクトリにplugins.sbtの代わりにproject/plugins.sbtaddSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.3")を追加すると、同様の問題が発生しました。

+0

チップのおかげで@wmiel –

1

私は同様のエラーがありました。 sbt-assemblyのバージョンを変更すると(0.14.3から0.14.5)、うまくいきました。私のsbtのバージョンは1.0.3だったと私は使用: addSbtPlugin( "com.eed3si9n" % "SBT-アセンブリ" % "0.14.5")

0

ちょうど全く SBT-アセンブリを使用しないでください! :)フラットジャーは、マージ中にconflictを引き起こします。これはassemblyMergeStrategyで解決する必要があります。 バイナリ配布形式のプラグインを使用して、バイナリスクリプト、dmg、msi、tar.gzで配布できるsbtを提供します。

これはSBTは、いつでもすぐに2.11+(N年後)Scalaのに対して構築することが見ていない、特に以来、非常に迷惑ですsbt-native-packager

関連する問題