在sbt和Scala play framework之间共享源代码/库

在sbt和Scala play framework之间共享源代码/库,scala,playframework,sbt,Scala,Playframework,Sbt,我有两个相关的应用程序,我正在Scala中开发。一个是使用SBT构建的服务器端处理引擎,无头运行,执行一些数字运算(在cron作业上)。另一个是用Scala编写并在play框架上运行的网站 我有一些代码,我希望能够在两者之间共享,但由于他们(SBT和Play)对目录结构和如何构建东西都有自己的想法,我很不清楚应该如何做。我不喜欢复制和粘贴.scala文件,但我也不喜欢使用sym链接并让它们都从相同的文件构建 如果可能的话,我会接受让播放脚本运行SBT以根据需要构建库。如果这是唯一的方法,那么我也

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

我有一些代码,我希望能够在两者之间共享,但由于他们(SBT和Play)对目录结构和如何构建东西都有自己的想法,我很不清楚应该如何做。我不喜欢复制和粘贴.scala文件,但我也不喜欢使用sym链接并让它们都从相同的文件构建

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


谢谢,Alex,唯一简单的方法就是用SBT构建JAR并使用它们

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

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

感谢您的快速回复。我听说Play Scala正在考虑转到SBT。想必这会使任务更完整一点?但与此同时,我很高兴知道我并不是完全的哑巴。