Scala REPL非常适合尝试不同的代码片段。如果可以使用Scala REPL中Maven存储库中的库运行代码,那将是很棒的。如何将远程Maven存储库添加到Scala REPL类路径?
我在SBT做一切非平凡的事情。在一个地方,SBT build.sbt
(或.scala
,用于高级用途)定义所有依赖项,生成IDE项目文件并运行REPL,其中包含类路径中存在的所有依赖项。
你可以使用maven-scala-plugin来做到这一点:
$ mvn scala:console
...
import com.some.dependency
你可以从头开始 - 使用sbt - 但没有build.sbt
首先创建sbt项目:
sbt -sbt-create
现在添加解析器(或其他变量)
set resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
您可以修改所有设置。例如添加依赖项
set libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.2.3"
仅供测试:
sbt:test> console
[info] Updating ...
[info] Done updating.
[info] Starting scala interpreter...
Welcome to Scala 2.12.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_201).
Type in expressions for evaluation. Or try :help.
scala> import org.slf4j._
import org.slf4j._
scala> val logger = LoggerFactory.getLogger("Test")
logger: org.slf4j.Logger = Logger[Test]
scala> val logger = LoggerFactory.getLogger("Test")
logger: org.slf4j.Logger = Logger[Test]
如果你想保持你的设置只是打电话(你可以离开交互式控制台模式与CRTL + D)
sbt:test> session save
您将输出保存在当前目录的build.sbt中。
对于linux / mac
> cat build.sbt
对于Windows(未测试)
> type build.sbt
输出:
resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.2.3"