build.gradle
plugins {
...
id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10'
}
apply plugin: 'org.liquibase.gradle'
apply plugin: 'com.ewerk.gradle.plugins.querydsl'
def queryDslSourceDirectory = 'src/querydsl/java/generated'
...
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
...
implementation 'com.querydsl:querydsl-core:5.1.0'
implementation 'com.querydsl:querydsl-jpa:5.1.0:jakarta'
implementation 'com.querydsl:querydsl-apt:5.1.0:jakarta'
annotationProcessor 'com.querydsl:querydsl-apt:5.1.0:jakarta'
...
}
...
querydsl {
jpa = true
querydslSourcesDir = queryDslSourceDirectory
}
sourceSets {
main {
java {
srcDir queryDslSourceDirectory
}
}
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
configurations {
querydsl.extendsFrom compileClasspath
}
BasicDetails.java
...
import jakarta.persistence.*;
...
@Entity
public class BasicDetails {...}
Error log: FAILURE: Build failed with an exception.
- What went wrong: Execution failed for task ':compileQuerydsl'.
java.lang.NoClassDefFoundError: javax/persistence/Entity
Querydsl shouldn't look for javax.persistence.Entity because I have configured jakarta classifier of querydsl instead of general. I have also lowered the versions of querydsl to 5.0.0 and 4.4.0 but it's throwing same error.