【发布时间】:2018-10-15 06:31:46
【问题描述】:
我想在我的项目中使用一个 yml 配置文件。我正在使用 jackson-dataformat-yaml 来解析 yml 文件。但我也需要解析 yml cmets。我使用ruamel yaml 在python 中使用了类似的方法。我怎样才能在 java 中做同样的事情?
更新。
为了什么?好吧,我想通过使用命令行参数来覆盖我的配置选项。因此,要为每个选项生成描述消息,我想使用我的 cmets。像这样:
在我的config.yml
# Define a source directory
src: '/foo/bar'
# Define a destination directory
dst: '/foo/baz'
因此,当您使用 --help 标志运行程序时,您将看到以下输出:
Your program can be ran with the following options:
--src Define a source directory
--dst Define a destination directory
这种模型的主要好处是您不需要重复相同的语句两次,因为它们可以从配置文件中检索到。
【问题讨论】:
-
您不这样做,因为 YAML 定义 cmets 不得传达内容信息,因此,如果您以任何方式处理 cmets,则违反了 YAML 规范。在更实用的方面,Jackson 在后台使用的 SnakeYaml 不支持它。但也许这是一个 XY 问题,如果您描述您的用例,可能会有替代方案(例如使用 YAML 标签)。
-
@flyx 我刚刚添加了我的用例
标签: java parsing jackson yaml comments