播放2.4.x - 资产重复

时间:2016-06-02 17:28:48

标签: playframework playframework-2.4 sbt-web

在Play 2.4.6应用程序中,我正在处理阶段/ dist任务中的资产。

基本上它是一个包含3个子模块的应用程序,所有资源都存在于主public文件夹中。我没有启用sbt-web并且没有webjars依赖项(但是从jar内容Play可能正在某处使用它们。)

如果我使用PlayKeys.externalizeResources := false,我最终在lib文件夹中有两个jar文件:

  • MyApp的-server.myapp - 服务器 - 0.9.6-assets.jar
  • MyApp的-server.myapp - 服务器 - 0.9.6.jar

第一个包含资产,应该如此。第二个应该包含我的主项目类文件,但它还有一个META-INF/resources/webjars/myapp-server/0.9.6文件夹,其中包含公用文件夹中的每个资源!

如果我使用PlayKeys.externalizeResources := true,我会得到完全相同的行为,但META-INF/resources中会出现额外的myapp-server.myapp-server-0.9.6-externalized-resources.jar文件夹。

那么如何摆脱额外的资产文件夹呢?我有很多资产,所以额外的文件夹会增加包大小......

1 个答案:

答案 0 :(得分:1)

经过一些研究,似乎只是从“外化”jar中排除了额外的文件夹:

mappings in (Compile, packageBin) ~= { (ms: Seq[(File, String)]) =>
    ms filterNot { case (file, dest) =>
        dest.contains("resources/webjars")
    }
}