0
クラスパス上でプロジェクトのコンパイルされたクラスといくつかの初期コマンドが実行されてスカラコンソールを開始するsbtタスクを定義します。sbtクラスパス上のプロジェクトのクラスといくつかの初期コマンドを使ってScala REPLを開始するタスク
は、私がここで私は他の回答に基づいてまとめて私に残念試みであるこの
sbt session
のようなものREPLセッションを開始したいが、それどちらもクラスパス上のプロジェクトのクラスを置き、また doesnの」トン初期のコマンドを実行します。
// extend Test in hope to include compiled sources on the classpath.
val ReplSession = config("repl-session") extend(Test)
val root = project.in(file("."))
.configs(ReplSession)
.settings(inConfig(ReplSession)(initialCommands := """
| import foo._
| """.stripMargin))
// define task that starts the REPL session
lazy val session = TaskKey[Unit]("session")
session <<= Seq(
console in (root, ReplSession)
).dependOn
コンソール操作では、まだ何もしていませんか? 'initialCommands in console'と一緒にですか?しかし、あなたはすでにそれを使用しているようですが、余分なことをしようとしているので、あなたの質問には私が理解していないほどのものがあるように感じます。 (詳細はこちら:http://www.scala-sbt.org/0.13/docs/Howto-Scala.html) –
@ImranRashid 'sbt console'はコンソールを起動しますが、クラスパス上にプロジェクトクラスがないので、 'initialCommands'は失敗します。動作するものは 'sbt test:console'と' consoleのinitialCommands'ですが、まだ 'Compile'設定の' initialCommands'を設定します。また、 'test:console'の代わりに1単語のコマンドが必要です。 –
ああ、 'console'はコンソールクラスパスにプロジェクトクラスを追加しますが、' initialCommands'を呼び出すときには取得しません。したがって、あなたのプロジェクトのクラスを 'initialCommands'で参照することはできません。 –