可以从命令行编译和运行scala-akka脚本,而无需像sbt这样的构建工具



我是一个学习scala-akka编程的初学者,我在IntelliJ IDE/和'sbt run'上运行我的脚本没有问题。但是,我似乎找不到任何资源来教我如何手动使用 scalac 和 akka jar 依赖项仅从命令行编译和运行。谁能指出我正确的方向?

假设

你在/home/leo/apps/下的某个地方安装了 Scala 和 Akka,并且 Scala 二进制文件是可搜索的(例如 export PATH=$PATH:home/leo/apps/scala-2.11.8/bin (

接下来,假设你有一个 Scala 主应用程序Tweets.scala以及一些打包在/home/leo/myproject/下的akkastreams中的补充类:

akkastreams/
  Tweets.scala
  Author.scala
  HashTag.scala
  Message.scala
  ...

下面介绍了如何编译和运行应用:

cd /home/leo/myproject/
# Compile all files in package akkastreams:
scalac -cp "/home/leo/apps/akka-2.4.9/lib/akka/*" akkastreams/*.scala
# Run the main app Tweets (object Tweets extends App):
# Note that classpath includes also current subdir '.'
scala -cp "/home/leo/apps/akka-2.4.9/lib/akka/*:." akkastreams.Tweets

一些注意事项:

  1. 您可以只包含特定的 Akka 罐子,而不是所有罐子。
  2. 如果没有依赖关系和版本控制由sbt管理,你需要手动维护 Scala 捆绑的 Akka 库与 Akka 自己的库之间的版本一致性。
  3. 虽然以粗略的方式了解事情是如何完成的是一个很好的练习,但定期这样做显然是徒劳的。
在我看来,

您应该使用类路径参数和选定的库jar文件执行scalacscala

顺便说一下,使用 sbt 还是比较方便的。

最新更新