在sbt和Scala play框架之间共享源/库

时间:2011-08-23 16:19:37

标签: scala playframework sbt

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

我希望能够在两者之间共享代码,但是因为每个代码(SBT和Play)都有自己关于目录结构和如何构建内容的想法,我不清楚我应该怎么做这个。我不想复制和粘贴.scala文件 - 但我也不热衷于使用sym链接并让它们都使用相同的文件构建。

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

谢谢,Alex

1 个答案:

答案 0 :(得分:7)

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

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

  • 您手动构建并将它们复制到Play中的libs文件夹(您可以编写脚本以使其不那么烦人)
  • 您为JAR(ala Nexus存储库)使用自定义存储库,并使用Play dependencies.yml指向该repo并进行更新。有了这个,你还需要经常运行play sync --deps并调整版本,所以我不确定它在dev期间是否有太多意义(虽然JAR完成后更有意义)