播放dist任务:如何防止conf文件被打包

Posted

技术标签:

【中文标题】播放dist任务:如何防止conf文件被打包【英文标题】:Play dist task: how to prevent conf files to be packed 【发布时间】:2015-11-26 01:10:28 【问题描述】:

运行dist任务时,分发包在两个地方包含conf文件(来自<app>/conf):

    <app.zip>/conf <app.zip>/lib/<app.jar>

这意味着 application.conf(以及<app>/conf 内的所有其他 conf 文件)将被放置在 zip 包的根目录和主 jar 库的根目录中。 运行应用程序时,会使用 jar 中的文件,因此 <unzipped-app>/conf 中的副本将被完全忽略。

我想知道这里的最佳实践是什么:我认为 conf 文件不应该打包在 <app> jar 中(可能是 build.sbt 上的一些表达式以将它们排除在外?),但在分发 zip 中可用文件。所以,解压部署后,可以根据需要修改conf文件。

resourceDirectory 似乎指向baseDirectory/'conf/',这个键是应该从packageBin 任务中明确排除的键吗?

【问题讨论】:

【参考方案1】:

您可以通过以下方式添加您的 conf 文件 -

    转到应用构建文件夹。

    键入以下命令 -

    java -Dapplication.secret="mySecretKey" -Dconfig.resource=conf/application.conf -cp "lib/*;" play.core.server.NettyServer 。

【讨论】:

app build folder 是什么意思? target/universal?我实际上正在寻找 build.sbt 自定义,例如排除 conf 文件夹以打包在 <app> jar 文件中,或类似的东西。 在您的问题中,您告诉 upzinpped/conf 文件被完全忽略,因此通过此命令,您可以使用解压缩的 conf 文件而不是 jar conf 文件。 抱歉,忘了说我是在 Linux 上运行的,我在你的命令中看不到 windows cp 分隔符。

以上是关于播放dist任务:如何防止conf文件被打包的主要内容,如果未能解决你的问题,请参考以下文章

如何防止`sbt dist`要求[Enter]?

PyInstaller打包、解包与反编译.pyc文件

如何解决webpack打包后,dist文件过大的问题

如何解决webpack打包后,dist文件过大的问题

如何解决webpack打包后,dist文件过大的问题

Python打包如何保护源码,防止反编译。