【问题标题】:config directory when using sbt-native-packager使用 sbt-native-packager 时的配置目录
【发布时间】:2014-01-27 16:48:56
【问题描述】:

我想问一下这个事实背后的原因,即 sbt-native-packager 插件创建了一个符号链接 /etc/ -> /usr/share//conf (而不是真正将文件放在那里并以某种方式在应用程序在哪里寻找它们)?

特别是它如何影响更新/卸载+安装过程?配置是否以某种方式保留(例如对于具有 java_server 架构设置的 debian)?

【问题讨论】:

    标签: scala sbt sbt-native-packager


    【解决方案1】:

    我想问一下 sbt-native-packager 插件创建符号链接 /etc/ -> /usr/share//conf 的事实背后的原因

    将所有内容保存在一个地方。您拥有包含所有内容的应用程序目录,然后您只需从特定于操作系统的文件夹链接到应用程序文件夹中的相应目录。

    配置是否以某种方式保留了

    确实如此。您可以使用简单的播放应用程序进行尝试。将此添加到您的 build.sbt

    mappings in Universal <+= (packageBin in Compile, baseDirectory ) map { (_, base) =>
         val conf = base / "conf" / "application.conf"
         conf -> "conf/application.conf"
    } 
    

    这会将您的 application.conf 映射到 conf 文件夹中。当你用

    构建一个debian包时
    debian:packageBin
    

    您可以在 target/-/DEBIAN/conffiles 中看到一个条目

    /usr/share/<app-name>/conf/application.conf
    

    apt-get remove your-app 不会删除此文件,只有 purge

    【讨论】:

    • 不幸的是,它不适用于 Universal:packageZipTarball
    • 这是有道理的。因为 tarball 不是像 deb 或 rpm 这样的原生操作系统打包格式。
    猜你喜欢
    • 2015-07-25
    • 2016-05-19
    • 2017-03-21
    • 2014-01-02
    • 2016-10-24
    • 2016-09-15
    • 2016-01-25
    • 2016-12-14
    • 2014-01-09
    相关资源
    最近更新 更多