我有一个Sping Boot 应用程序,我想将其部署在Spring Cloud Dataflow服务器上。我遇到了应用程序属性问题。由于某种原因,嵌套属性未显示在Dataflow UI中。为什么会发生这种情况?
我已经在application.yml文件中定义了我的属性。我已经在www.example.com中声明了我的属性dataflow-configuration-metadata.properties。我正在将我的Sping Boot jar文件从maven源注册到SDF中,然后将其添加到任务中。在任务中,选项按钮不会获取我的所有属性。
我的应用程序包括Spring Batch、Spring Web、Hibernate、JaxB、mapstruct和lombok。
1条答案
按热度按时间bogh5gae1#
首先,既然您提到您正在使用Lombok,那么您需要确保正确配置
pom.xml
中的依赖项。根据Spring文档(配置元数据)
如果你在你的项目中使用Lombok,你需要确保它的注解处理器在spring-boot-configuration-processor之前运行。为了在Maven中做到这一点,你可以使用Maven编译器插件的annotationProcessors属性以正确的顺序列出注解处理器。如果你没有使用这个属性,并且注解处理器是由类路径上可用的依赖项选择的,确保lombok相关性在spring-boot-configuration-processor相关性之前定义。
在此基础上,如果使用
maven-compiler-plugin
,则必须按以下顺序声明注解处理器:继续讨论属性,假设
application.yml
如下所示:则配置属性类应为:
为了使Dataflow UI正确显示属性,
META-INF/dataflow-configuration-metadata.properties
应为:**重要提示:**注意我们在
.properties
文件中声明内部类的方式。