【问题标题】:Why there are many "target" folders in a single play-framework application?为什么单个播放框架应用程序中有许多“目标”文件夹?
【发布时间】:2017-05-11 16:02:48
【问题描述】:

我使用激活器启动了一个播放框架应用程序。然后我将 build.sbt 中的 scala 版本设置为scalaVersion := "2.11.7"

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

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

它的文件夹结构是否正确?

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

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

【问题讨论】:

标签: scala playframework sbt


【解决方案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

【讨论】:

    猜你喜欢
    • 2014-10-16
    • 2012-05-19
    • 2018-08-24
    • 2016-06-12
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    相关资源
    最近更新 更多