在Play 2.4.6应用程序中,我正在处理阶段/ dist任务中的资产。
基本上它是一个包含3个子模块的应用程序,所有资源都存在于主public
文件夹中。我没有启用sbt-web
并且没有webjars依赖项(但是从jar内容Play可能正在某处使用它们。)
如果我使用PlayKeys.externalizeResources := false
,我最终在lib
文件夹中有两个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
文件夹。
那么如何摆脱额外的资产文件夹呢?我有很多资产,所以额外的文件夹会增加包大小......
答案 0 :(得分:1)
经过一些研究,似乎只是从“外化”jar中排除了额外的文件夹:
mappings in (Compile, packageBin) ~= { (ms: Seq[(File, String)]) =>
ms filterNot { case (file, dest) =>
dest.contains("resources/webjars")
}
}