Saltar al contenido

IntelliJ 15 con QueryDSL y Gradle

No dejes de compartir nuestra página y códigos en tus redes, apóyanos para hacer crecer nuestra comunidad.

Solución:

¿Ves que tus QClasses se generan en la salida de Gradle? Por su error, parece que ya pasó el punto en el que debería generarlos.

Creo que el problema es que no estás configurando el JPAAnnotationProcessor. Esto se hace por conveniencia en gradle agregando :jpa a su dependencia querydsl-apt. En Maven, aplica el complemento manualmente.

Tengo lo siguiente en mi build.gradle relacionado con querydsl.

idea 
    module 
        sourceDirs += file('generated/')
        generatedSourceDirs += file('generated/')
    

[...]
compile "com.querydsl:querydsl-root:$querydslVersion"
compile "com.querydsl:querydsl-jpa:$querydslVersion"
compile "com.querydsl:querydsl-apt:$querydslVersion:jpa

El bloque de ideas simplemente configura automáticamente el directorio fuente generado en IDEA, para que las compilaciones en IDE funcionen correctamente.

EDITAR:

El JPAAnnotationProcessor la salida se parece a la siguiente.

Note: Running JPAAnnotationProcessor
Note: Serializing Supertypes
Note: Generating com.myclass.example.QMappedSuperClass for [com.myclass.example.MappedSuperClass]
Note: Serializing Entity types
Note: Generating com.myclass.example.QMyClass for [com.myclass.example.MyClass]

EDITAR:

No estaba familiarizado con el complemento ewerk, así que busqué. Parece que está intentando activar el JPAAnnotationProcessor por usted. Es posible que deba configurar el indicador JPA según la documentación aquí, ya que el valor predeterminado es false.

Ver hilo de comentarios sobre problemas de dependencia. EDITAR: para Gradle 4.6+, puede usar el annotationProcessor sintaxis.

api "com.querydsl:querydsl-root:$querydslVersion"
api "com.querydsl:querydsl-jpa:$querydslVersion"
annotationProcessor "com.querydsl:querydsl-apt:$querydslVersion:jpa"

Si alguien quiere hacer esto con Kotlin y Gradle kotlin dsl, así es como lo hace con esa configuración:

build.gradle.kts

plugins 
    [...]
    id("org.jetbrains.kotlin.kapt") version kotlinVersion


dependencies 
    [...]
    compile("com.querydsl:querydsl-core:$queryDslVersion")
    compile("com.querydsl:querydsl-jpa:$queryDslVersion")
    kapt("com.querydsl:querydsl-apt:$queryDslVersion:jpa")

Tenga en cuenta que es posible que deba usar Java 8 para Gradle hasta que se solucione un error de Kapt en Kotlin 1.2.20.

Si para ti ha resultado de provecho este artículo, agradeceríamos que lo compartas con más programadores y nos ayudes a dar difusión a esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *