Kotlin @ConfigurationProperties 클래스에 대한 IntelliJ Idea에서 spring-configuration-metadata.json 파일이 생성되지 않습니다.
Spring Boot 기반 프로젝트를 위해 spring-configuration-metadata.json 파일을 생성하려고 합니다.Java @ConfigurationProperties 클래스를 사용하면 올바르게 자동으로 생성됩니다.
@ConfigurationProperties("myprops")
public class MyProps {
private String hello;
public String getHello() {
return hello;
}
public void setHello(String hello) {
this.hello = hello;
}
}
그러나 Kotlin 클래스를 사용하면 spring-configuration-metadata.json 파일이 생성되지 않습니다(gradle build와 Idea Rebuild Project를 모두 시도했습니다).
@ConfigurationProperties("myprops")
class MyProps {
var hello: String? = null
}
AFAIK Kotlin은 생성자, 게터 및 세터와 동일한 클래스를 생성하며 일반 자바빈으로 작동해야 합니다.
스프링 부트 구성 프로세서가 코틀린 클래스에서 작동하지 않는 이유가 무엇인지 아십니까?
올바른 방향으로 안내해 주셔서 감사합니다.그래서 해결책은 추가하는 것입니다.
dependencies {
...
kapt "org.springframework.boot:spring-boot-configuration-processor"
optional "org.springframework.boot:spring-boot-configuration-processor"
...
}
build.gradle 파일을 작성하려면 명령줄에서 gradle compileJava를 실행하고 IntelliJ Idea 설정 Build, Execution, Deployment -> Compiler -> Annotation processor -> Enable notation processing.나머지 구성은 동일하게 유지됩니다.
또한 이 라인을 사용하지 않습니다.
optional "org.springframework.boot:spring-boot-configuration-processor"
IntelliJ Idea는 불평할 것입니다.
구성 속성을 확인할 수 없습니다.
application.properties 또는 application.yml의 메시지
Gradle 대신 Maven을 사용하려는 사람들은 다음과 같이 추가해야 합니다.kapt
kotlin-maven-vlan 구성에 대한 실행.
<execution>
<id>kapt</id>
<goals>
<goal>kapt</goal>
</goals>
<configuration>
<sourceDirs>
<sourceDir>src/main/kotlin</sourceDir>
</sourceDirs>
<annotationProcessorPaths>
<annotationProcessorPath>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>1.5.3.RELEASE</version>
</annotationProcessorPath>
</annotationProcessorPaths>
</configuration>
</execution>
다음과 같은 컴파일러 플러그인이 작동하지 않는 KT-18022 문제가 있습니다.kotlin-maven-allopen
종속성으로 선언되었습니다.
코틀린은 자체 컴파일러를 가지고 있습니다.메타데이터는 Java 컴파일러의 후크 포인트인 주석 프로세서에 의해 생성됩니다.
Kotlin에서 이러한 후크 포인트를 사용할 수 있는지는 모르겠지만, Spring Boot은 현재 Java 이외의 다른 것을 지원하지 않습니다.이게 도움이 될까요?
언급URL : https://stackoverflow.com/questions/37858833/spring-configuration-metadata-json-file-is-not-generated-in-intellij-idea-for-ko
'programing' 카테고리의 다른 글
오프라인 Swagger API 문서를 생성하는 방법은 무엇입니까? (0) | 2023.06.23 |
---|---|
Elmah가 asp.net 사이트에서 작동하지 않습니다. (0) | 2023.06.23 |
도커 컨테이너에서 mongoimport를 실행합니다. (0) | 2023.06.23 |
Spring Web Client에서 프록시 설정이 작동하지 않음 (0) | 2023.06.23 |
그룹화 및 조건 포함 개수 (0) | 2023.06.23 |