Play Framework中,打包时如何排除文件?

Posted

技术标签:

【中文标题】Play Framework中,打包时如何排除文件?【英文标题】:In Play Framework, how to exclude files when packaging? 【发布时间】:2018-03-28 13:35:27 【问题描述】:

我正在使用 Play 2.5。

当我运行sbt package 时,路由、配置和日志配置文件将包含在最终包中。

如何管理要包含的文件?

【问题讨论】:

【参考方案1】:

您能解释一下您计划实现的目标吗?我知道 play 不允许您删除路由和 confs 文件。有很多方法,但我相信 sbt 原生打包器可能会对您有所帮助。

您可以在此处查看更多信息: http://www.scala-sbt.org/sbt-native-packager/formats/universal.html

这允许您修改生成的工件。

【讨论】:

谢谢,我会阅读你的链接!我的问题是,当我打包时,路由文件将包含在.zip 文件中,但我不想将路由公开给用户。 hmm.. 我不确定这是否可能,但是,你能告诉我为什么你不希望用户知道你的 api 路由吗?纯粹出于好奇。我能理解你为什么不想暴露你的配置 我只是觉得没有意义。还有.bat文件,我想保持我的包干净简单,所以我想摆脱所有我认为无用的东西。【参考方案2】:

最后我在build.sbt 中应用了tar 选项,如下所示:

universalArchiveOptions in (Universal, packageZipTarball) :=
  (Seq("--exclude", "routes") ++ (universalArchiveOptions in (Universal, 
packageZipTarball)).value)

因为我的包是.tar,你的情况请修改这个文件。

【讨论】:

啊,不错的解决方案!可能也会使用它:)

以上是关于Play Framework中,打包时如何排除文件?的主要内容,如果未能解决你的问题,请参考以下文章

Play framework 2.4 打包后无法加载图片(404 source not found)

配置 Play Framework 以使用 http 服务器运行

部署为 war 文件时如何运行 Play Framework 演变

Play Framework:如何不查看文件夹以了解 Play Framework 中的更改

打包应用程序时如何排除不必要的 Qt *.so 文件?

Play Framework 应用程序和嵌入式数据库打包