문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
gradle:jpa_metamodel_generation [2015/02/04 10:18] kwon37xi [Cannot find symbol 오류] |
gradle:jpa_metamodel_generation [2022/06/03 09:23] (현재) kwon37xi [QueryDSL] |
||
|---|---|---|---|
| 줄 5: | 줄 5: | ||
| * **Java 6** 이상에서만 작동한다. | * **Java 6** 이상에서만 작동한다. | ||
| + | * TODO [[http:// | ||
| + | |||
| + | ===== QueryDSL ===== | ||
| + | * [[http:// | ||
| + | * [[java: | ||
| + | |||
| + | |||
| + | <code groovy> | ||
| + | apply plugin: " | ||
| + | |||
| + | compile " | ||
| + | |||
| + | |||
| + | ext { | ||
| + | querydslSrcDir = ' | ||
| + | } | ||
| + | |||
| + | |||
| + | querydsl { | ||
| + | library = " | ||
| + | jpa = true | ||
| + | querydslSourcesDir = querydslSrcDir | ||
| + | } | ||
| + | |||
| + | sourceSets { | ||
| + | main { | ||
| + | java { | ||
| + | srcDirs += file(querydslSrcDir) | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | idea { | ||
| + | module { | ||
| + | generatedSourceDirs += file(querydslSrcDir) | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | * '' | ||
| + | <code sh> | ||
| + | gradlew clean cleanQuerydslSourcesDir compileQueryDsl | ||
| + | 혹은 | ||
| + | gradlew cleanQuerydslSourcesDir initQuerydslSourcesDir compileQuerydsl processQUerydslResources | ||
| + | |||
| + | # cleanQuerydslSourcesDir 를 하지 않을 경우 기존 생성된 코드 때문에 오류가 발생함. | ||
| + | </ | ||
| ===== Cannot find symbol 오류 ===== | ===== Cannot find symbol 오류 ===== | ||
| * [[java: | * [[java: | ||
| 줄 17: | 줄 64: | ||
| ===== Gradle Annotation Process 예 ===== | ===== Gradle Annotation Process 예 ===== | ||
| http:// | http:// | ||
| + | |||
| + | |||
| + | Gradle 기반으로 정적 분석 도구 사용시에 여기서 자동 생성된 클래스는 정적 분석에서 예외처리해줘야 한다.(''/ | ||
| + | |||
| + | |||
| <code groovy> | <code groovy> | ||
| 줄 36: | 줄 88: | ||
| srcDir jpaMetamodelGeneratedDir | srcDir jpaMetamodelGeneratedDir | ||
| } | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | idea { | ||
| + | module { | ||
| + | sourceDirs += file(jpaMetamodelGeneratedDir) | ||
| } | } | ||
| } | } | ||
| 줄 71: | 줄 129: | ||
| // 필요하면 compileJava가 generateJpaMetamodel 에 의존하도록 변경한다. | // 필요하면 compileJava가 generateJpaMetamodel 에 의존하도록 변경한다. | ||
| </ | </ | ||
| + | |||
| + | ==== Lombok 사용시 ==== | ||
| + | [[java: | ||
| + | |||
| + | < | ||
| + | task generateQueryDSL(type: | ||
| + | source = sourceSets.main.java | ||
| + | classpath = configurations.compile | ||
| + | destinationDir = queryDslOutput | ||
| + | options.compilerArgs = [ | ||
| + | " | ||
| + | / | ||
| + | " | ||
| + | ] | ||
| + | } | ||
| + | compileJava.dependsOn(generateQueryDSL) | ||
| + | </ | ||
| + | |||