Scala 为什么会有很多;“目标”;单一播放框架应用程序中的文件夹?

Scala 为什么会有很多;“目标”;单一播放框架应用程序中的文件夹?,scala,playframework,sbt,Scala,Playframework,Sbt,我已经使用activator启动了一个play framework应用程序。然后我在build.sbt中将scala的版本设置为scalaVersion:=“2.11.7” 现在我的应用程序中有三个不同的target文件夹,其中两个有一个scala-{version}子文件夹,如下所示 /root ├──project │ ├──project │ │ └──target │ └──target │ └──scala-2.10 └──target └

我已经使用activator启动了一个play framework应用程序。然后我在build.sbt中将scala的版本设置为
scalaVersion:=“2.11.7”

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

/root
├──project
│  ├──project
│  │  └──target            
│  └──target
│     └──scala-2.10
└──target
   └──scala-2.11
它是正确的文件夹结构吗

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


任何关于构建play framework目录树、避免不必要的文件和文件夹的最佳实践的建议都将不胜感激:)

简短回答。。。您需要所有这些目录

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

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

请参见对类似问题的回答,其中提供了更详细的解释:

以下是SBT官方页面,讨论了这一问题:


相关,并有一些解释: