我是一名初学者,学习在scala-akka中编程,并且在IntelliJ IDE /和'sbt run'上运行我的脚本没有任何问题。然而,我似乎无法找到任何资源,教我如何手动使用scalac和akka jar依赖项来编译和运行,只需从命令行。任何人都可以将我指向正确的方向吗?可能从命令行编译并运行scala-akka脚本,而不需要像sbt这样的构建工具?
0
A
回答
0
我认为您应该使用classpath参数和选定的库jar文件执行scalac
和scala
。
顺便说一句,它使用sbt更方便。
1
让我们假设你有Scala和阿卡在/ home/LEO /应用/和Scala的二进制文件的地方安装了可搜索(如export PATH=$PATH:home/leo/apps/scala-2.11.8/bin
)
接下来,让我们说你有一些补充沿有一个Scala的主要应用Tweets.scala
封装在akkastreams
类在/ home/LEO/myproject的/:
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
一些注意事项:
- 您可以只包括特定的Akka罐而不是所有的罐。
- 如果没有依赖关系和版本控制由
sbt
管理,则需要手动维护Scala捆绑的Akka库与Akka自己的库之间的版本一致性。 - 虽然这是一个很好的练习,以粗略的方式看待事情是如何完成的,但定期执行此操作显然是徒劳的。
相关问题
- 1. 从命令行编译并运行java
- 2. 需要在编译/构建之前运行自定义脚本
- 3. 编译后如何从命令行运行dcm4che工具?
- 4. pg_connect - php脚本可以从命令行运行,但不能从网页运行
- 5. 命令从命令行运行,而不是从cron运行?
- 6. Shell脚本从命令行运行,而不是cron
- 7. Powershell:脚本不是从命令行运行,而是从ISE运行?
- 8. gdb从命令行运行,但不是从脚本运行
- 9. bash脚本从命令行运行但不是从cron运行
- 10. 为什么我不能运行CMD命令对于像这样:
- 11. 我怎样才能从bash脚本运行django shell命令
- 12. 如何构建和运行github上的Ruby命令行工具?
- 13. 从java执行命令行工具因命令行而异?
- 14. 从vim命令行运行vim脚本
- 15. 如何从命令行运行脚本?
- 16. 需要“构建”一个mysql命令并将其在shell脚本中执行它
- 17. 我需要通过命令行运行PHP脚本,但发生这种情况
- 18. 可以从命令行运行jar而不是shell脚本 - 为什么?
- 19. 设计脚本命令行工具
- 20. 简单的shell脚本不能像命令行一样工作吗?
- 21. Bash脚本并在命令行上手动运行命令
- 22. bash脚本ssh并运行命令
- 23. 是否需要运行rake资源:预编译命令?
- 24. 运行PHP脚本需要的建议
- 25. 从脚本运行adb shell命令而不退出shell
- 26. 从命令行运行python脚本时,PythonWin也会运行。我怎样才能避免这种情况?
- 27. 命令从Shell脚本工作,但不是从命令行?
- 28. 兄弟脚本在命令行而不是主运行
- 29. 脚本在命令运行时运行
- 30. 单击命令行编译不工作
感谢Leo!这很有帮助。我设法让我的脚本以这种粗糙的方式工作。对于像我这样的初学者来说,它确实有助于看到引擎盖下面躺着什么,而不是盲目地依靠sbt来为我做所有事情。此后我也学会了如何使用sbt本地包装插件来打包我的scala程序 – jorjor17
还值得注意的是,我最初认为我只需要akka-actor_2.11-2.4.17.jar用于我的简单脚本,依赖于akka-actor库,但不知怎的,当我在命令行上编译/运行它时,我需要在类路径中的akka发行版中包含完整的jar集合以使其工作;我的猜测是,不仅仅是我需要在我的类路径中包含的akka-actor jar,(不知道我需要哪些jar),所以我只是在我的类路径中包含了整个akka/*分发目录 – jorjor17