sourcecode

IntelliJ의 @ConfigurationProperties를 사용하여 Spring Boot Configuration Annotation Processor를 구성하는 방법은 무엇입니까?

codebag 2023. 9. 25. 22:36
반응형

IntelliJ의 @ConfigurationProperties를 사용하여 Spring Boot Configuration Annotation Processor를 구성하는 방법은 무엇입니까?

Warning

IntelliJ에서 Spring Boot Configuration Annotation Processor가 @ConfigurationProperties를 갖도록 구성되지 않았습니다.아래는 제 수업입니다.

@Configuration
@ConfigurationProperties(prefix = "abc")
@Data
@RefreshScope
class Config {
    String propA;
    String propB;
    ...
}

원인이 무엇인지 확실하지 않으며 설정을 위해 렌치를 클릭하면 메타데이터 파일에 대해 구성할 옵션이 표시되지 않습니다.

저는 같은 문제에 직면했습니다.IntelliJ IDEA 2020.2그리고.Maven 3.6.2. 해결책은 에 주석 처리기를 명시적으로 설정하는 것이었습니다.maven-compiler-plugin설정.여기서 답을 찾았습니다.

  1. https://stackoverflow.com/a/48028193/9989732
  2. https://stackoverflow.com/a/64031211/9989732

전체 구성:

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

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.0</version>
  <configuration>
    <source>1.8</source>
    <target>1.8</target>
    <encoding>UTF-8</encoding>
    <annotationProcessorPaths>
      <path>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <version>2.4.2</version>
      </path>
      <path>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.8</version>
      </path>
    </annotationProcessorPaths>
  </configuration>
</plugin>

pom 파일에 다음의 종속성을 추가하여 해결하였습니다.

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

@ConfigurationProperties 주석이 달린 항목에서 spring-boot-configuration-processor jar를 사용하여 자신의 구성 메타데이터 파일을 쉽게 생성할 수 있습니다.이 병에는 프로젝트가 컴파일될 때 호출되는 Java 주석 프로세서가 포함되어 있습니다.프로세서를 사용하려면 Maven의 경우와 같이 spring-boot-configuration-processor를 옵션 종속성으로 포함하기만 하면 됩니다.

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

그래들을 위해서는 메이븐과 마찬가지로 그에 맞는annotation processor. 이렇게 하려면 에 선을 추가합니다.dependencies당신의 섹션에서build.gradle파일.

dependencies {
    ...
    annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor:'
    ...
}

언급URL : https://stackoverflow.com/questions/61368900/how-to-configure-for-spring-boot-configuration-annotation-processor-using-confi

반응형