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

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

  1. <app.zip>/conf
  2. <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 任务中明确排除的键吗?

【问题讨论】:

    标签: sbt playframework-2.3 sbt-native-packager


    【解决方案1】:

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

    1. 转到应用构建文件夹。
    2. 键入以下命令 -

      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 分隔符。
    猜你喜欢
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 2021-10-13
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 2018-11-18
    相关资源
    最近更新 更多