[java] 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 메타 데이터 메시지를 놓치지 않도록하십시오.


답변

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

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


답변

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

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

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


답변

이 옵션 중 어느 것도 나를 위해 일하지 않았습니다. 나는 주석 프로세서의 자동 감지가 매우 불안정하다는 것을 발견했습니다. 프로젝트에 사용되는 주석 프로세서를 명시 적으로 설정하는 플러그인 섹션을 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. 프로젝트 재 구축


답변

저에게는 다른 답변이 작동하지 않았습니다. Intellij 를 열고 실행 Files해야 Invalidate caches and restart했습니다. 그 후 모든 것이 다시 정상적으로 작동했습니다.