【问题标题】:Sharing source/libraries between sbt and Scala play framework在 sbt 和 Scala 播放框架之间共享源代码/库
【发布时间】:2011-08-23 16:19:37
【问题描述】:

我正在使用 Scala 开发两个相关的应用程序。一个是使用 SBT 构建的服务器端处理引擎,并且无头运行,执行一些数字运算(在 cron 作业中)。另一个是用 Scala 编写并在 play 框架上运行的网站。

我希望能够在两者之间共享代码,但由于它们(SBT 和 Play)中的每一个对目录结构以及如何构建事物都有自己的想法,所以我不清楚我应该如何做这。我不想复制和粘贴 .scala 文件 - 但我也不热衷于使用符号链接并让它们都从相同的文件构建。

如果可能的话,我会接受让 Play 脚本运行 SBT 以根据需要构建库。如果这是唯一的方法,那么我也可以使用 SBT 为 Play 构建 jar,然后将它们复制到位。但我经常同时开发两者(它们是更大应用程序的一部分),如果它们一起更新,它会更顺利地工作。这甚至可能吗,或者如果我缺少另一种更简单的技术?

谢谢,亚历克斯

【问题讨论】:

    标签: scala playframework sbt


    【解决方案1】:

    唯一简单的方法是使用 SBT 构建 JAR 并让 Play 使用它们。

    关于如何复制,您有两种选择:

    • 您手动构建并将它们复制到 Play 中的 libs 文件夹(您可以编写脚本以减少烦人)
    • 您为 JAR 使用自定义存储库(ala Nexus 存储库)并使用 Play dependencies.yml 指向该存储库并进行更新。有了这个,你还需要经常运行play sync --deps 并调整版本,所以我不确定它在开发过程中是否有意义(不过,一旦 JAR 完成,它就会更有意义)

    【讨论】:

    • 感谢您的快速回复。我听说 Play Scala 正在考虑转移到 SBT。大概这可能会使任务更加集成?但与此同时,很高兴知道我并没有完全愚蠢。
    猜你喜欢
    • 2015-12-15
    • 1970-01-01
    • 2014-10-27
    • 2015-06-09
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多