13

:기본 주석 프로세서 검색 프로세스는 무엇입니까? <a href="http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#annotationProcessors" rel="noreferrer">documentation of Maven Compiler plugin mentions the following</a>

annotationProcessors : 주석 프로세서의

이름은 실행합니다. JDK 1.6 이상에만 적용 이 설정되지 않으면 기본 주석 프로세서 검색 프로세스가 적용됩니다.

여기서 기본 주석 프로세서 검색 프로세스은 무엇입니까? 이 구성 태그보다 주석 프로세서를 설정할 수있는 다른 방법이 있습니까?

나는 Getting Started with the Annotation Processing Tool (apt) 문서가 기본 발견 절차를 언급 것으로 나타났습니다하지만 팩토리 클래스하지 프로세서와 불행하게도 그것은 JDK에서 tools.jarcom.sun 패키지를 사용하여 작동합니다. 이것은 기본 주석 프로세서 검색 프로세스입니까?

답변

15

주석 프로세서를 컴파일러에서 사용할 수있게 만드는 기본 방법은 파일에 META-INF/services/javax.annotation.processing.Processor에 등록하는 것입니다. 파일에는 여러 프로세서가 포함될 수 있습니다. 즉, 각 행의 정규화 된 클래스 이름과 끝에 새 행이 있습니다. 컴파일러는 지정되지 않은 경우이 방법으로 발견 된 프로세서를 사용하도록 기본적으로 설정됩니다.

+3

구체적으로 말하면, 단지 javax.annotation.processing.Processor'를위한 [ServiceLoader] (http://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html)입니다. – gk5885