为什么有很多"目标"单个play-framework应用程序中的文件夹?

时间:2016-12-27 11:03:50

标签: scala playframework sbt

我已经使用激活器启动了一个play-framework应用程序。然后,我将build.sbt中的scala版本设置为scalaVersion := "2.11.7"

现在我在我的应用程序中有三个不同的目标文件夹,其中两个文件夹有一个scala- {version}子文件夹,如下所示。

/root
├──project
│  ├──project
│  │  └──target            
│  └──target
│     └──scala-2.10
└──target
   └──scala-2.11

这是正确的文件夹结构吗?

如果没有,是否有任何自动工具/命令来重新组织项目目录结构?

有关构建播放框架目录树的最佳做法的任何建议,避免不必要的文件和文件夹将不胜感激:)

1 个答案:

答案 0 :(得分:1)

答案很简短......你需要所有这些目录。

实际上定义了多个构建。 Play使用SBT构建项目,SBT生成一个构建项目,该项目存储在项目目录下。它本身就是一个SBT项目,您可以选择自定义(例如,添加自己的构建任务,引用sbt插件等)。

您的播放应用程序使用scala 2.11编译源代码。 SBT构建本身显然是一个单独的构建过程,基于不同版本的scala(2.10)。

查看类似问题的答案,该答案提供了更为详细的解释:

Multiple target directories in sbt project build

以下是讨论该问题的官方SBT页面:

http://www.scala-sbt.org/1.0/docs/Organizing-Build.html