如何在没有SBT或其他构建工具的情况下手动维护依赖关系并运行Scala应用程序?
运行scala app.scala
会导致找不到任何导入和依赖项的错误。
这是否可能,或者每个具有依赖关系的项目都需要SBT(或同类)?
答案 0 :(得分:7)
如何在没有SBT或其他构建工具的情况下手动维护依赖关系并运行Scala应用程序?
有很多困难,就像在Java中一样。您需要手动找到所有传递依赖项(即直接依赖项,它们的依赖项,它们的依赖项等)(或者仅使用构建工具),下载它们的jar并运行scala -classpath … app.scala
(-classpath
的参数枚举所有具有正确的OS依赖分隔符的jar。或scalac …
然后java -classpath … MainClassName
(在这种情况下-classpath
将需要包含Scala运行时库,scala
命令暗示。)
答案 1 :(得分:3)
我不知道有人试图手动管理依赖地狱的任何非平凡的事情。
如果要管理依赖项,则需要某种工具来执行此操作。
如果您发现sbt
太重了,请尝试Ammonite,它支持带有ivy-dependencies的脚本。