問題タブ [sbt-assembly]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - scala jar にソース ファイルを自動的に追加する
ソース ファイルを scala jar に追加しようとしています。jar は毎晩 Jenkins で生成され、sbt を使用してコンパイルし、sbt-assembly を使用して jar を作成します。Jenkins に自動的にソース ファイルを jar ファイルに追加させる方法はありますか?
java - Spark RDD クラスが見つかりません
私は Spark を初めて使用し、次のエラーについてサポートが必要です。
java.lang.NoClassDefFoundError: org/apache/spark/rdd/RDD$
Scala でスタンドアロンの Spark の例を作成しています。と を実行sbt clean package
しsbt assembly
て、scala spark コードをパッケージ化しました。どちらもエラーなしで正常に完了しました。RDD で操作を行うと、エラーがスローされます。この問題を解決するための指針は本当に役に立ちます。
コマンドを使用してジョブを呼び出しspark-submit
ます。
$SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.GroupTest /Users/../spark_workspace/spark/examples/target/scala-2.10/spark-examples_2.10-1.3.0-SNAPSHOT.jar
scala - SBT 組み立ての高速化
sbt-assemblyプラグインを使用してパッケージ化し、 sbt-dockerプラグインを使用して Docker イメージを作成することにより、多数のScalatra マイクロサービスを構築するプロジェクトがあります。アセンブリ プラグインは各サービスのすべての推移的な依存関係を処理する必要があるため、マイクロ サービスの数が原因でプロセスが遅くなります。ただし、ほとんどのマイクロサービスには非常によく似た依存関係があることに注意してください。これをスピードアップする方法はありますか?
制限の 1 つは、Jenkins (CI) サーバーでこれを行っているsbt clean
ため、最初に呼び出しているため、キャッシュを利用できないことです。
scala - 競合するファイルが原因で sbt アセンブリが失敗する
プロジェクトで sbt アセンブリを実行してファット jar を作成しようとしています。次のエラーが表示されます。
hadoop-mapreduce-client-core の DistributedCache は非推奨になりました。私のbuild.sbtには以下が含まれています:
依存関係は次のようになります。
どうすればこれを処理できますか?
前もって感謝します!
dependencies - spark 1.2.0 のビルド中に未解決の依存関係 org.apache.spark#spark-network-common_2.10
sbt版0.13.6
では、
Spark 1.2.0 が失敗する
一体何が原因なのか、以前のバージョン 1.1.0 では問題はありませんでした。
scala - sbt-assembly のカスタム outputPath
マルチプロジェクトがありBuild.scala
ます。sbt-assembly によって生成されたすべての jar をルート ターゲット ディレクトリに配置する方法はありますか?
たとえば、次のことを考慮してください。
そのまま、を実行するとsbt assembly
、hello.jar
に配置されhello/target/<scala-version>/
ます。代わりに配置することは可能/target/<scala-version>/
ですか?
次の設定を追加することで、必要な outputPath を指定できることがわかっています。
これをより一般的にする方法はありますか?たとえば、scala のバージョンを手動で指定する必要はありませんか?
scala - Sbt アセンブリにすべてのライブラリ依存関係が含まれていない
すべての依存ライブラリを使用してファット jar を生成することはできませんが、scala ライブラリは使用できません。build.sbt ファイルの次の構成があります。
sbt アセンブリを実行した後test-project.jar
、プロジェクト コードとほぼすべてのライブラリが含まれています。唯一欠けているのは"com.snowplowanalytics" %% "scala-maxmind-iplookups" % "0.2.0
依存関係です - これは奇妙です。assemblyOption in assembly ~= { _.copy(includeScala = false) }
さらに、build.sbt config の行を削除すると、完全な jar (すべてのライブラリを含む) だけでなく、不要な scala ライブラリ クラスも受け取ります。
sbt
ファット jar を生成するためのsbt-assembly
プラグインを作成して、scala ライブラリを使用せずに他のすべての依存ライブラリを使用する方法。
sbt version: 0.13.5
sbt-assembly version: 0.11.2
sbt - sbt-assembly は「maven-shade-plugin」のようなクラスの再配置を実行する必要がありますか?
renameと呼ばれるsbt-assemblyマージ戦略の説明は、互換性のないバージョンのライブラリの管理を可能にするためにクラスとその参照を再配置するmaven-shade-pluginのシェーディング操作に似たものを許可するように聞こえました。
sbt-assembly がその機能を実行するのは適切でしょうか?
次のマージ戦略を使用して、名前変更を再配置メカニズムとして使用しようとしましたが、すべてのファイルに一致する一方で、それらをそのまま渡します (これは、コードを見ることと一致しています)。
sbt - sbt run のパフォーマンスペナルティ
sbt アセンブリを使用して実行可能な jar を作成する代わりに、sbt runを使用して scala プログラムを実行すると、パフォーマンスが低下しますか?
scala - 管理されていない依存関係ライブラリのスコープ sbt-assembly
メイン プロジェクトから管理されていない依存関係ライブラリのスコープを設定しようとしています。これがシナリオです
次のファイルを含むlib
フォルダーに管理されていない依存関係があります。coinprism-api-assembly-1.2.jar
Build.scala
組み立てようとしているプロジェクトには、次のbuild.sbt
ファイルがあります。
sbt-assembly
これは、バージョンに切り替えた後に表示されるエラー メッセージです0.11.2
。
coin-prism-api
では、jar 内の jar が競合しないように、jar 内の依存関係を除外するにはどうすればよいsuredbits-core
でしょうか。