如何在application.yml中为@ConfigurationProperties声明的自定义属性启用Eclipse自动完成?

问题描述 投票:0回答:1

我为spring-boot项目创建了一个带有配置属性的简单类。除了Eclipse不能将新属性识别为application.yml中的有效选项并将其突出显示为未知之外,所有内容都可以作为一个魅力(spring-boot捕获选项)。

这是班级:

@Component
@ConfigurationProperties(prefix="server")
public class ServerProperties {
    private Integer delay;
    private DataAdapter dataAdapter = new DataAdapter();
    // setters and getters were cut out for the sake of readability 

    public static class DataAdapter {
        private String baseUrl;
        private String targetCode;
        // setters and getters 
    }
}

自动完成功能不适用于这些属性:

我按照Spring.io reference的建议将Spring Boot Configuration Processor的依赖项添加到pom.xml中,但是它不能正常工作。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>

试图切换到application.properties但自动完成仍然无法正常工作。

eclipse spring-boot configuration autocomplete
1个回答
0
投票

Spring启动配置处理器在编译期间用作注释处理器。

有必要为Eclipse项目启用注释处理并注册处理器:

  • 转到项目/属性菜单
  • 打开Java编译器/注释处理。启用项目特定设置并选中“启用注释处理”
  • 打开Java编译器/注释处理/工厂路径。选中“启用项目特定设置”
  • 单击“添加变量”按钮,选择“M2_REPO”,单击“扩展”,然后在Maven存储库中找到org / springframework / boot /.../ spring-boot-configuration-processor-x.x.x.RELEASE.jar。
  • 应用更改
  • 重新编译项目,或者只需触摸并保存具有配置属性的类以触发部分重新编译。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.