Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何仅更新spring配置文件中的某些值_Java_Spring_Yaml - Fatal编程技术网

Java 如何仅更新spring配置文件中的某些值

Java 如何仅更新spring配置文件中的某些值,java,spring,yaml,Java,Spring,Yaml,有没有简单的方法可以只更新spring配置文件中的一些值? 我使用的是.yml配置文件,用户可以在其中以明文或加密密码设置密码。我希望在我的CLI应用程序中使用命令,它加密所有密码,但不会覆盖整个文件(不会从配置文件中删除用户注释)。由于您在编程网站上询问,我认为程序被认为是一个简单的解决方案。唯一需要保持不变的是要更新的实际值的索引 首先安装ruamel.yaml(免责声明:我是该软件包的作者),它将在往返过程中保留您的评论等 import sys from ruamel.yaml impor

有没有简单的方法可以只更新spring配置文件中的一些值?
我使用的是.yml配置文件,用户可以在其中以明文或加密密码设置密码。我希望在我的CLI应用程序中使用命令,它加密所有密码,但不会覆盖整个文件(不会从配置文件中删除用户注释)。

由于您在编程网站上询问,我认为程序被认为是一个简单的解决方案。唯一需要保持不变的是要更新的实际值的索引

首先安装
ruamel.yaml
(免责声明:我是该软件包的作者),它将在往返过程中保留您的评论等

import sys
from ruamel.yaml import YAML
from ruamel.yaml.util import load_yaml_guess_indent

yaml = YAML()

with open(sys.argv[1]) as fp:
    data, indent, bsi = load_yaml_guess_indent(fp)

# adjust this
data['path']['to']['password'] = sys.argv[2]

with open(sys.argv[1], 'w') as fp:
    yaml.dump(data, fp)