문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
gradle:jpa_metamodel_generation [2015/02/04 10:15] kwon37xi |
gradle:jpa_metamodel_generation [2018/08/23 11:05] kwon37xi [Gradle Annotation Process 예] |
||
---|---|---|---|
줄 4: | 줄 4: | ||
* '' | * '' | ||
* **Java 6** 이상에서만 작동한다. | * **Java 6** 이상에서만 작동한다. | ||
- | | + | |
- | * 정황상 [[java: | + | ===== QueryDSL ===== |
- | * 이 둘을 함께 지정해서 APT 를 수행해야 에러가 나지 않는다.< | + | * [[java: |
+ | * '' | ||
+ | gradlew clean cleanQuerydslSourcesDir compileQueryDsl | ||
+ | |||
+ | # cleanQuerydslSourcesDir 를 하지 않을 경우 기존 생성된 코드 때문에 오류가 발생함. | ||
+ | </ | ||
+ | ===== Cannot find symbol 오류 ===== | ||
+ | | ||
+ | * 정황상 [[java: | ||
+ | * 이 둘을 함께 지정해서 APT 를 수행해야 에러가 나지 않는다. | ||
+ | < | ||
" | " | ||
" | " | ||
줄 12: | 줄 22: | ||
+ | ===== Gradle Annotation Process 예 ===== | ||
http:// | http:// | ||
+ | |||
+ | |||
+ | Gradle 기반으로 정적 분석 도구 사용시에 여기서 자동 생성된 클래스는 정적 분석에서 예외처리해줘야 한다.(''/ | ||
+ | |||
+ | |||
<code groovy> | <code groovy> | ||
줄 60: | 줄 76: | ||
" | " | ||
" | " | ||
- | | + | // processor 지정은 안해도 된다. 안하면 모든 어노테이션 프로세서 실행 |
- | ] | + | " |
) | ) | ||
} | } | ||
줄 67: | 줄 83: | ||
// 필요하면 compileJava가 generateJpaMetamodel 에 의존하도록 변경한다. | // 필요하면 compileJava가 generateJpaMetamodel 에 의존하도록 변경한다. | ||
</ | </ | ||
+ | |||
+ | ==== Lombok 사용시 ==== | ||
+ | [[: | ||
+ | |||
+ | < | ||
+ | task generateQueryDSL(type: | ||
+ | source = sourceSets.main.java | ||
+ | classpath = configurations.compile | ||
+ | destinationDir = queryDslOutput | ||
+ | options.compilerArgs = [ | ||
+ | " | ||
+ | / | ||
+ | " | ||
+ | ] | ||
+ | } | ||
+ | compileJava.dependsOn(generateQueryDSL) | ||
+ | </ | ||
+ | |||