我有一个yaml文件要作为参数传递给java类。但它却被抛到了异常之下:
日志
Caused by: Cannot create property=heartbeatThreshold for JavaBean=UdsConfigurationBean{jdbcDriverClassString='org.mariadb.jdbc.Driver', sparkConfigFile='spark/spark-local.conf'}
in 'reader', line 15, column 3:
jdbcDriverClassString: org.maria ...
^
Unable to find property 'heartbeatThreshold' on class: MyClass
in 'reader', line 36, column 23:
heartbeatThreshold: 60000000
^
at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:292)
at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:171)
at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:230)
at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:219)
at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:269)
... 12 more
Caused by: org.yaml.snakeyaml.error.YAMLException: Unable to find property 'heartbeatThreshold' on class: MyClass
at org.yaml.snakeyaml.introspector.PropertyUtils.getProperty(PropertyUtils.java:159)
at org.yaml.snakeyaml.introspector.PropertyUtils.getProperty(PropertyUtils.java:148)
at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.getProperty(Constructor.java:309)
at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:230)
... 16 more我的分析:
G 210
你能帮我弄清楚吗。我会非常感激的。
Yaml档案:
kafka:
kafkaServers: ${udsKafkaEpfConfigurationBean.kafka.kafkaServers}
kafkaPrincipal: ${udsKafkaEpfConfigurationBean.kafka.kafkaPrincipal}
kafkaKeytab: ${udsKafkaEpfConfigurationBean.kafka.kafkaKeytab}
kafkaEnvironment: ${udsKafkaEpfConfigurationBean.kafka.kafkaEnvironment}
storage:
jdbcDriverClassString: ${memsql.driver}
initializationStoresGeneration: true
heartbeatThreshold: ${MyCLass.kafka.heartbeatThreshold}发布于 2022-06-25 06:45:19
对于我来说,向yaml中添加Skip缺失属性属性可以解决以下问题:
Yaml = new Yaml()更改为
Representer represent = new Representer()
represent.getPropertyUtils().setSkipMissingProperties(true)
Yaml yaml = new Yaml(represent)https://stackoverflow.com/questions/63627539
复制相似问题