Java 11 + QueryDSL 4 + Gradle 5 + SpringBoot 2.1 - не генерирует QClasses - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь интегрировать QueryDSL, Gradle и Springboot в версии из заголовка. Я добавил annotationProcessors в Gradle, но Intellij все еще не генерирует QClasses. Я попробовал sugesstions от сообщества, чтобы использовать плагин "gradle.plugin.com.ewerk.gradle.plugins: querydsl-plugin" но это не помогло.

dependencies{
   annotationProcessor("org.projectlombok:lombok:1.18.4")
   annotationProcessor("com.querydsl:querydsl-apt:4.2.1")
   annotationProcessor("org.springframework.boot:spring-boot-starter-data-jpa:2.1.1.RELEASE")

   compileOnly("org.projectlombok:lombok:1.18.4")
   implementation("com.querydsl:querydsl-jpa:4.2.1")
   implementation("com.querydsl:querydsl-apt:4.2.1:jpa")
   implementation("org.springframework.boot:spring-boot-starter-data-jpa:2.1.1.RELEASE")
   implementation("org.springframework.boot:spring-boot-starter-web:2.1.1.RELEASE")
}

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

QueryDSL не работает с Gradle 5. Вы можете проверить этот другой вопрос и проблемы с плагином для получения дополнительной информации.

Похоже, некоторым людям удалось заставить его работать с обходными путями, такими как те, что в связанном вопросе, но это не был мой случай. В конце концов моей команде пришлось прибегнуть к использованию HQL.

0 голосов
/ 15 января 2019

Вам необходимо предоставить конкретный процессор аннотаций ': jpa'

annotationProcessor("com.querydsl:querydsl-apt:4.2.1:jpa")

, которое должно работать:

dependencies{
   annotationProcessor("org.projectlombok:lombok:1.18.4")
   annotationProcessor("com.querydsl:querydsl-apt:4.2.1:jpa")
   annotationProcessor("org.springframework.boot:spring-boot-starter-data-jpa:2.1.1.RELEASE")

   compileOnly("org.projectlombok:lombok:1.18.4")
   implementation("com.querydsl:querydsl-jpa:4.2.1")
   implementation("org.springframework.boot:spring-boot-starter-data-jpa:2.1.1.RELEASE")
   implementation("org.springframework.boot:spring-boot-starter-web:2.1.1.RELEASE")
}
...