タグ付けされた質問 「sbt」

sbtは、JavaのMavenまたはAntと同様に、ScalaおよびJavaプロジェクト用のオープンソースのビルドツールです。

3
build.sbtとbuild.scalaの違いは何ですか?
私はScalaを学び始め、ほとんどすべてのチュートリアルでbuild.sbtプロジェクト設定を記述したファイルを見つけました。しかし、今giter8はテンプレートからプロジェクトをインストールして作成しました。そして、テンプレートの欠落したbuild.sbtファイルからプロジェクトを生成しましたがbuild.scala、同じ目的で使用されているように見えますが、より柔軟性があります。 だから、何の違いであるbuild.sbtとはbuild.scala? どちらがより好まれ、なぜですか?
107 scala  sbt 

4
sbtはどのようにgitから依存関係のアーティファクトをプルできますか?
sbtgitリポジトリから依存関係を取得できると聞いたことがあります(また、どこかを思い出せば、例も見ました)。 依存関係harrah / upをgithub から取得したいと考えています。リポジトリはアーティファクトJARファイルを提供せず、を使用して構築するように設定されたソースツリーのみを提供しsbtます。私が想像しているプロセスはsbt、ソースリポジトリをダウンロードしてビルドし、それを依存関係のアーティファクトとして使用することです。 私はsbt実際にこのようなことができると想像しているかもしれません。それをできる?もしそうなら、どうやって?

4
誰かがSBTの正しい使い方を説明できますか?
これでクローゼットから降りてきます!SBTがわかりません。そこで、私はそれを言いました、今私を助けてください。 すべての道はローマに通ず、それはSBTのための同じである:を始めるためにSBTありSBT、SBT Launcher、SBT-extras、など、その後含まれ、リポジトリを決定するためにさまざまな方法があります。「最善の」方法はありますか? 時々私は少し迷子になるので私は尋ねています。SBTのドキュメントは非常に詳細で完全ですが、いつbuild.sbtor project/build.propertiesまたはproject/Build.scalaor を使用するかわからないことに気づきましたproject/plugins.sbt。 そして、それが楽しくなり、そこにあるScala-IDEとSBT- それらを一緒に使用する正しい方法は何ですか?何が最初に来る、鶏または卵? 最も重要なことは、おそらく、プロジェクトに含める適切なリポジトリとバージョンをどのように見つけるかです。マシェットを引き出して、ハッキングを始めますか?すべてを含むプロジェクトと台所の流しが含まれているプロジェクトを見つけることがよくありますが、それに気づきました-少し迷っているのは私だけではありません。 簡単な例として、今、私は真新しいプロジェクトを始めています。私は、最新の機能を使用するSLICKとScala、これはおそらく、SBTの最新バージョンが必要になります。始めるのに正しい点は何ですか?なぜですか?どのファイルでそれを定義し、どのように見えるべきですか?私はこれを機能させることができることを知っていますが、私は本当にすべてがどこに行くべきかについての専門家の意見が欲しいです(なぜそれが行くべきなのかはボーナスになります)。 私はSBT1年以上ずっと小さなプロジェクトに使用しています。私はSBTそれを使ってSBT Extras(それが魔法のようにいくつかの頭痛を消したので)、しかし、なぜどちらを使うべきなのか分かりません。私は物事がどのように組み合わさっているか(SBTおよびリポジトリ)を理解していないことに少し不満を感じています。これを人間の言葉で説明できれば、次の人がこのようにやって来るのを大変な苦労から救うことができると思います。
100 scala  sbt 

3
実行せずにSBTでテストをコンパイルする方法
SBTを使用せずにテストをビルドする方法はありますか? 私自身の使用例は、scalacプラグインを使用してテストコードで静的分析を実行することです。別の考えられる使用例は、SBTに組み込まれたものとは別のランナーを使用して、テストコードの一部またはすべてを実行することです。 理想的には、あらゆるSBTプロジェクトに適用されるこの問題の解決策があるでしょう。たとえば、Mavenには、テストを実行せずにコンパイルするためだけに使用できるtest-compileコマンドがあります。SBTが同じものを持っていたら素晴らしいでしょう。 あまり理想的ではありませんが、それでも非常に役立つのは、プロジェクトのビルドファイルの変更を伴うソリューションです。
97 scala  sbt  build-tools 

11
SBTで「実行」アクションを使用してアプリケーションを実行するためのJVM最大ヒープサイズ「-Xmx」を指定する方法
私のアプリケーションは大規模なデータ配列処理を行い、JVMがデフォルトで提供するよりも多くのメモリを必要とします。Javaでは「-Xmx」オプションで指定されています。特定の「-Xmx」値を使用して「実行」アクションでアプリケーションを実行するようにSBTを設定するにはどうすればよいですか?
97 scala  sbt 

2
Scalaを使用したJoda Timeでのクラス破損エラー
私はJoda TimeリポジトリをSBTに追加しています libraryDependencies ++= Seq( "joda-time" % "joda-time" % "2.1" ) それから私は陽気にこのようにそれを使います: val ymd = org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd") ymd.parseDateTime("20121212") しかし、SBTでプロジェクトをコンパイルすると、厄介な問題が発生します。 [warn] Class org.joda.convert.FromString not found - continuing with a stub. [warn] Caught: java.lang.NullPointerException while parsing annotations in /home/jack/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.1.jar(org/joda/time/DateTime.class) [error] error while loading DateTime, class file '/home/jack/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.1.jar(org/joda/time/DateTime.class)' is broken [error] (class java.lang.RuntimeException/bad constant …
91 scala  sbt  jodatime 

5
sbtで依存関係ツリーを表示するにはどうすればよいですか?
ドキュメントに記載されているように、SBT依存関係ツリーを検査しようとしています。 sbt inspect tree clean しかし、私はこのエラーを受け取ります: [error] inspect usage: [error] inspect [uses|tree|definitions] <key> Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. [error] [error] inspect [error] ^ なにが問題ですか?SBTがツリーを構築しないのはなぜですか?

3
IntelliJ IDEA内でSBTを使用してUber JAR(脂肪JAR)を構築する方法
私はSBT(IntelliJ IDEA内)を使用して単純なScalaプロジェクトを構築しています。 Uber JARファイル(別名Fat JAR、Super JAR)を作成する最も簡単な方法は何ですか? 現在SBTを使用していますが、JARファイルをApache Sparkに送信すると、次のエラーが発生します。 スレッド「メイン」の例外java.lang.SecurityException:マニフェストのメイン属性の無効な署名ファイルダイジェスト または、コンパイル時のこのエラー: java.lang.RuntimeException:deduplicate:次の場所にある異なるファイルの内容: PATH \ DEPENDENCY.jar:META-INF / DEPENDENCIES PATH \ DEPENDENCY.jar:META-INF / MANIFEST.MF それはのように見える私の依存関係のいくつかは、最終的なユーバーのJARファイルで削除する必要が署名ファイル(META-INF)が含まれているため、それはです。 私はそのようなsbt-assemblyプラグインを使用しようとしました: /project/assembly.sbt addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0") /project/plugins.sbt logLevel := Level.Warn /build.sbt lazy val commonSettings = Seq( name := "Spark-Test" version := "1.0" scalaVersion := "2.11.4" ) lazy …

10
sbtのヒープサイズを設定する方法は?
SBT0.12.0を使用しています。私はスタックオーバーフローに関する他の回答を読んでそれに従いましたが、それらのどれも役に立ちません、例えば: ForkRunクラスの作成-sbtの使用中にフォークされたプロセスを観察していません set environment variable-設定されていますJAVA_OPTSが、sbtのプロセスコマンドラインはそれをまったく使用していないようです。 sbt -J-Xmx2Gパラメータをsbtプロセスコマンドラインに-Xmx1536m追加しますが、追加されたパラメータの代わりに古い値がsbtによって使用されます。 私は何かが足りないのですか?テストとテストの両方を行うときに、sbt 0.12のヒープサイズを設定するにはどうすればよいrunですか?
90 scala  sbt 

1
コマンドラインからテストせずにsbtアセンブリコマンドを実行するにはどうすればよいですか?
私は質問を読みました:これとあれ。彼らはsbtファイルを変更することを提案しています。しかし、私はsbt clean assemblyテストなしで実行したいので、sbtビルドファイルを変更しません。sbtで可能ですか?Mavenには-DskipTest=trueパラメーターがありますが、sbtのアナログはありますか?
89 testing  build  sbt 

16
プロキシの背後からsbtを使用する方法は?
プロキシを使用するようにsbtを設定するにはどうすればよいですか? 例えば、私のビルド定義はのための接続パラメータを指定し、GitHubのに接続する必要があるhttp.proxy、http.proxyPort、user、とpassword。 これらの設定をsbtに渡すにはどうすればよいですか? 自宅で仕事をしているときに、プロキシ設定とプロキシなし設定を簡単に切り替える方法はありますか?
85 sbt 

2
マルチプロジェクトでのSBTテストの依存関係:依存プロジェクトでテストコードを利用できるようにする
一部のプロジェクトが相互に依存しているSBTマルチプロジェクトがあります。このような: lazy val coreProject: Project = Project( id = "core-project", base = file("./core-project"), // other stuff )) lazy val extensions: Project = Project( id = "extensions", base = file("./extensions"), dependencies = Seq(coreProject) ) これで、test-folderの「core」プロジェクトにいくつかのテストコードがあります。モックやテストユーティリティのようなものもあります。次に、これらのテストユーティリティを拡張機能のテストで使用したいと思います。依存関係を宣言したので、本番コードの場合、これは機能します。ただし、依存関係はテストには当てはまらないようです。テストを実行すると、不足しているクラスのコンパイルエラーが発生します。これらのクラスは、コアプロジェクトのテストコードからのものです。 依存関係にテストスコープのテストコードも含める必要があることをsbtに伝えるにはどうすればよいですか?'exension'プロジェクトのテストコードでモックを再利用できるようにするには?
83 scala  testing  sbt 

2
SBTとIntelliJIDEAで複数の相互依存モジュールを管理する方法は?
私はそれらの間に依存関係があるいくつかのモジュールを開発していて、それらすべてを1つのIDEAプロジェクトで一緒に作業したいと思っています。私はsbt-ideaを使用して、sbtビルド定義からIDEAプロジェクトを生成しています。これは、個々のプロジェクトに最適です。ただし、複数モジュールの場合、これまでに試したことはうまくいきません。 sbt-ideaを使用して、モジュールごとに個別にIDEA.imlファイルを生成します。次に、マスターIDEAプロジェクトを最初から作成し、それらのモジュールをそれに追加します。これにより、モジュールソースはすべて同じウィンドウで編集可能になりますが、それらの間の依存関係は追跡されません(したがって、fooプロジェクト内のソースからbar内のソースに移動しようとすると、ローカルソースではなく、インポートされたライブラリバージョンのbarに移動します)。 親プロジェクトのBuild.scalaに次のようなものが含まれているsbtマルチプロジェクトビルド(別名サブプロジェクト)を使用します。 lazy val foo = Project(id = "foo", base = file("foo")) lazy val bar = Project(id = "bar", base = file("bar")) dependsOn(foo) sbt-ideaが、追跡されたサブプロジェクト間の依存関係を持つマスターIDEAプロジェクトを生成するという点で、これはほぼ機能します。ただし、2つの注意点があります。 サブプロジェクトがマスタープロジェクトのサブディレクトリに存在する必要がある(つまり、file("../foo")許可されていない)ことは、sbtの制限のようです。これは本当に私が望んでいることではありませんが(「utils」や「commons」パッケージなどのモジュールが2つの異なるマスタープロジェクトで使用されている場合はどうなりますか?)、私はそれを使用できます。 私のサブプロジェクトの1つには、独自のサブプロジェクトがあります。sbt自体がこれらのネストされたプロジェクトを正しく処理するかどうかはわかりませんが、いずれの場合もsbt-ideaによって無視されます。明らかに、ネストされたサブプロジェクトをマスタープロジェクトに再帰的に含める必要があります。 要約すると、すでにサブプロジェクトが含まれている可能性のあるモジュールを、編集しやすいように依存関係を追跡した1つの大きなIDEAプロジェクトに収集したいと思います。どうすればいいですか?ありがとう!

4
SBTによって生成された*すべて*を取り除く簡単な方法は?
SBTビルドを実行した結果として生成されるすべてのものを取り除く簡単な方法はありますか?いたるところにターゲットディレクトリが作成されることがわかりました。実行する sbt clean clean-cache clean-lib clean-plugins ...すべてを取り除くわけではありません。
81 scala  sbt 

1
公開されたアーティファクトにsbtにJava以外のソースを含めるにはどうすればよいですか?
公開されたアーティファクトにsbtにJava以外のソースを含めるにはどうすればよいですか? Kotlinプラグインを使用していて、公開されたソースjarに.ktファイルを含めるようにsbtを強制する方法がわかりません。.javaファイルのみが含まれます。 オンラインの多くの人が次のコードをsbtスクリプトに追加することを提案していますが、それは役に立ちません mappings in (Compile, packageSrc) ++= { val base = (sourceManaged in Compile).value val files = (managedSources in Compile).value files.map { f => (f, f.relativeTo(base).get.getPath) } }, 私も試しました includeFilter in (Compile, packageSrc) := "*.scala" || "*.java" || "*.kt", これはsbtコンソールのいくつかの変数の出力です sbt:collections> show unmanagedSourceDirectories [info] * /home/expert/work/sideprojects/unoexperto/extensions-collections/src/main/scala [info] * /home/expert/work/sideprojects/unoexperto/extensions-collections/src/main/java …
8 scala  sbt 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.