2016-11-24 8 views
1

私はスパークアプリケーションを開発中です。ローカルでテストするにはsbtを実行します。依存関係をローカルで利用できるようにする必要があります。しかし、を使用して、​​に使用できるjarを生成する場合、jarにはいくつかの依存関係のみを含める必要があります。スパークの依存関係は含まれません。提供された依存関係間のsbtアセンブリの切り替え

私はケースがメインbuilt.sbtに組み立て、使用中のjarファイルを除外するならば、それはもはやsbt run

+0

この質問は2 subquestionsを持っています - あなたはそれを2つの別々の質問に分けて、簡単に答えるようにしてください。 –

+1

私はそれをやるつもりです。ここで質問2があります:http://stackoverflow.com/questions/40782435/sbt-switch-dependencies-for-runtime –

答えて

2

を経由して提供されています% "provided"としてbuild.sbtで依存関係をマークすると

excludedJars in assembly := { 
    val cp = (fullClasspath in assembly).value 
    cp filter {f => 
    f.data.getName.contains("spark"), 
    f.data.getName.startsWith("jar_name") 
    } 
} 
+1

しかし、これはsparkの推移的な依存関係を除外しません。私はkryoの問題に直面しています..どのようにしてjarファイルのすべての "推移的"依存関係も除外できますか? –

+0

私はhttp://stackoverflow.com/questions/18838944/how-to-add-provided-dependencies-back-to-run-test-tasks-classpath/21803413#21803413を追加したいのは、私の特定の用途のためのより良い解決策です火花で。 –

関連する問題