2011-10-10 3 views
1

는 다음을 상상해 : 클래스가 @MyAnnotation의 주석을 붙일 수주석 처리 전에 클래스에 추가 주석을 삽입 할 수 있습니까?

@MyAnnotation 
public class A { ... }; 

@MyOtherAnnotation 
public class B { ... }; 

경우, 추가 @MyExtraAnnotation이 주석 처리하기 전에 추가해야합니다. 따라서이 단계가 끝나면 다음을 가져야합니다.

@MyExtraAnnotation 
@MyAnnotation 
public class A { ... }; 

@MyOtherAnnotation 
public class B { ... }; 

이것이 가능합니까? 그렇다면 어떻게? 감사.

+0

주석 처리시기에 따라 다릅니다. 로드 타임이나 런타임에 처리하는 경우에는 컴파일 타임에 일부를 추가 할 수 있습니다. 컴파일 타임에 모두 발생하면 가능해야하지만 작업 순서를주의해야 할 수도 있습니다. 그러나 이것에 확실하지 않습니다. – Thomas

+0

주석 달기 전에 컴파일 타임에 추가해야합니다. 주석 달기는 컴파일시에도 발생합니다. – JVerstry

+1

질문과 관련하여 무엇이 관련이 있습니까? – bestsss

답변

1

lifecycleprocess-sources 또는 maven compiler pluginannotationProcessors 구성을 볼 수 있습니다.

"주석을 추가하는"플러그인을 찾지 못했지만 확실히 그 플러그인을 만들 수 있어야합니다.

+0

음, 주석 처리기를 살펴 보았지만 어떻게 처리 할 수 ​​있는지 실제로 알지 못합니다. 클래스 코드를 새 클래스로 다시 생성하고 주석을 추가 할 수는 있지만 무겁습니다. 기존 코드를 수정하고이 주석을 추가 할 수 있다면 좋을 것입니다. – JVerstry

+0

텍스트 처리가 편한 경우 프로세스 소스가 더 쉽습니다. [http://stackoverflow.com/questions/187550/preprocessing-source-code-as-a-part-of-a-maven-build]와 관련된 또 다른 질문이 있습니다. 외부 프로세스 (perl)를 호출하고 대체 작업을 수행 할 수 있다면 쉽습니다 (약간 지저분한 경우). s/@ MyAnnotation/@ MyExtraAnnotation \ n @ MyAnnotation/g – ptomli

관련 문제