Nice programing

Spring Boot Configuration Annotation Processor를 다시 실행하여 생성 된 메타 데이터를 업데이트합니다.

nicepro 2020. 10. 10. 11:00
반응형

Spring Boot Configuration Annotation Processor를 다시 실행하여 생성 된 메타 데이터를 업데이트합니다.


나는 추가했다 :

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

내에 pom.xmlintellij의 요청 / 경고.

이제 "생성 된 메타 데이터를 업데이트하기 위해 Spring Boot Configuration Annotation Processor를 다시 실행"이 표시됩니다.

어떻게 무엇을해야합니까 intellij해야 할 요청하는 이유는 무엇입니까?

이 링크, B.2 주석 프로세서를 사용하여 자신의 메타 데이터 생성 에는 지침이 없습니다.


이 지침을 따르면 저에게 효과적이었습니다. http://www.mdoninger.de/2015/05/16/completion-for-custom-properties-in-spring-boot.html

Annotation Processor를 다시 실행해야한다는 메시지는 아무것도 변경되지 않은 경우에도 항상 그대로 유지되는 것처럼 보이기 때문에 약간 혼란 스럽습니다.

핵심은 필요한 종속성을 추가 한 후 또는 속성을 변경 한 후 프로젝트를 다시 빌드하는 것 같습니다. 이를 수행하고 YAML 파일로 돌아 가면 모든 속성이 이제 구성 클래스에 연결되었습니다.

Maven 창에서 'Reimport All Maven Projects'버튼을 클릭하여 .yaml 파일보기를 가져와 해당 Java 클래스에 대한 링크를 다시 인식해야 할 수도 있습니다.


어떤 답변도 나를 위해 일하지 않았습니다. 메시지를 비활성화하려면 Intellij Preferences-> Editor-> General-> Appearance로 이동하여 "Show Spring Boot metadata panel"을 선택 취소합니다.

그러나 그다지 신경 쓰지 않는 경우 해당 메시지로 살 수도 있으므로 관심이있을 수있는 다른 Spring Boot 메타 데이터 메시지를 놓치지 않도록하십시오.


나는 같은 문제가 있었다. 문제는 Spring Boot 주석 프로세서가 폴더 spring-configuration-metadata.json안에 파일을 생성한다는 것 /target/classes/META-INF입니다.

나처럼 IntelliJ에서이 폴더를 무시한 경우 (대체 누가 클래스 파일에 신경을 쓰나요?) IDE에서 파일을 인덱싱하지 않습니다. 따라서 완료되지 않고 성가신 메시지입니다.

target있는 파일 / 폴더 무시 목록에서 제거하기 만하면 됩니다 Settings > Editor > File Types > Ignore files and folders.


다음을 통해 IntelliJ에서 주석 프로세서를 활성화 할 수 있습니다.

  1. 파일을 클릭하십시오
  2. 설정을 클릭하십시오
  3. 왼쪽 상단의 작은 검색 상자에서 "주석 프로세서"를 검색합니다.
  4. "주석 처리 사용"을 선택하십시오.
  5. 확인 클릭

이 옵션 중 어느 것도 나를 위해 일하지 않았습니다. 나는 주석 프로세서의 자동 감지가 매우 불안정하다는 것을 발견했습니다. 프로젝트에 사용되는 주석 프로세서를 명시 적으로 설정하는 플러그인 섹션을 pom.xml 파일에 생성했습니다. 이것의 장점은 IDE 설정에 의존 할 필요가 없다는 것입니다.

<plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
                <compilerVersion>1.8</compilerVersion>
                <source>1.8</source>
                <target>1.8</target>
                <annotationProcessors>
                    <annotationProcessor>org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor</annotationProcessor>
                    <annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
                    <annotationProcessor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</annotationProcessor>
                </annotationProcessors>
            </configuration>
        </plugin>

  1. spring-boot-configuration-processor에 대한 종속성 포함
  2. IDEA의 Maven 창에서 "Reimport All Maven Projects"를 클릭합니다.
  3. 프로젝트 재 구축

참고 URL : https://stackoverflow.com/questions/33483697/re-run-spring-boot-configuration-annotation-processor-to-update-generated-metada

반응형