首页 > 解决方案 > 在 Java 应用程序中处理用户配置的最佳方式是什么?

问题描述

我正在开发一个 Java 应用程序,它需要最终用户以 .properties 文件的形式进行一些配置。目前我正在使用 gradle 'application'-plugin 将我的项目导出为 zip/tar,并将我的配置文件放在存档内的 config 文件夹中,所以我的结构如下所示:

存档.zip

然后我修改 build.gradle 中的 JVM 参数,以将配置文件夹的路径作为参数包含在内:

application {
    applicationDefaultJvmArgs = ["-Dconfig=CONFIG_HOME/config/"]
}

startScripts {
    doLast {
        unixScript.text = unixScript.text.replace('CONFIG_HOME', '\$APP_HOME')
        windowsScript.text = windowsScript.text.replace('CONFIG_HOME', '%APP_HOME%')
    }
}

这一切都感觉超级hacky,并且'application'-plugin中的'run'选项也不起作用,因为“CONFIG_HOME”部分似乎没有被替换,所以我无法从我的IDE内部启动应用程序.

在您看来,实现这一目标的最佳方法是什么?你有什么建议吗?

谢谢

标签: javagradleconfig

解决方案


据我所知,对于任何需要从外部加载的属性文件或不断变化的配置文件。这是加载文件的方式。我们必须像您一样创建一个位置。我曾经将它保存在我的 gradle 项目的资源文件夹中。


推荐阅读