1. 소개
과거에 아키텍처를 구축할 때 비슷한 상황에 직면했는데, @EnableConfigurationProperties 주석을 사용할 때 프로젝트에 스타터가 도입될 때 속성의 속성이 자동으로 프롬프트되지 않았습니다.
@Data
@ConfigurationProperties(prefix = "properties")
public class DefaultProperties {
@NestedConfigurationProperty
public SwaggerProperties swagger;
}
--------以上为properties
properties:
swagger:
type: service
packages: com.wsq.controller
api-tittle: 'swagger文档'
service-url:
writer-name: 'wangqueyue'
version: '1.0.0'
------无法识别,只能一个个的敲击。
2.해결책
2.1종속성 패키지 소개
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
2.2 배치 idea
spring-configuration-metadata.json 생성 방법은 온라인에 설명되어 있는데 이 파일은 너무 번거롭고 수동으로 작성하기가 거의 불가능하므로 간단한 생성 방법을 제시한다.생성 후 수정만 하면 된다.
설정>빌드,실행,배포>Compiker>주석 프로세서
주석 처리 활성화를 선택하세요.
2.3 패키지 및 컴파일 스타터(핵심 사항)
- 컴파일할 때 maven clean을 사용해야 합니다. 그렇지 않으면 지난번에 컴파일하고 패키징한 내용이 잘못되었고 여전히 그것이 옳다고 생각했습니다.
- 그런 다음 Maven 컴파일(스타터 유형은 pom이 아니라 jar여야 함을 기억하세요)
- Maven을 설치하려면 프로젝트를 로컬 서비스로 패키징해야 합니다.
대상 디렉터리에 spring-configuration-metadata.json
파일이 생성됩니다. 수동으로 생성할 필요가 없습니다. 스타터에서 생성한 일부 파일은 패키징하지 않으면 여전히 유효하지 않습니다.
2.4additional-spring-configuration-metadata.json 파일 생성
이 파일은 이전 파일에 대한 보충 설명으로, 생성 방법도 매우 간단합니다.
- 대상 디렉터리의 파일을 아래 디렉터리
spring-configuration-metadata.json
에 복사합니다 .직접 생성할 필요는 없습니다.resource
META-INF
- 파일을 제목 이름으로 변경하고 계속해서 Maven Clean, 컴파일, 설치를 수행합니다.
- 대상 디렉터리에 파일
additional-spring-configuration-metadata.json
이 생성되므로 보충 파일이 완성됩니다.