I'm using gradle, springBoot, querydsl and mongodb. Added next gradle settings follow this article:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.9"
}
}
apply plugin: 'com.ewerk.gradle.plugins.querydsl'
sourceSets {
main {
java {
srcDir "$buildDir/generated/source/app/main"
}
}
}
dependencies {
compile "com.querydsl:querydsl-mongodb:4.1.4"
compileOnly "com.querydsl:querydsl-apt:4.1.4"
}
querydsl {
springDataMongo = true
querydslSourcesDir = "$buildDir/generated/source/app/main"
}
It works fine when I start project using gradle bootRun
, but when I'm just using gradle clean build
it fails when compiling querydsl.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileQuerydslJava'.
> Compilation failed with exit code 1; see the compiler error output for details.
/Volumes/DATA/notification-service/app/build/generated/source/app/main/net/platform/notification/domain/impl/entity/QNotification.java:76: error: cannot find symbol
public QNotification(Path<? extends Notification> path) {
^
symbol: class Path
location: class QNotification
/Volumes/DATA/notification-service/app/build/generated/source/app/main/net/platform/notification/domain/impl/entity/QNotification.java:76: error: cannot find symbol
public QNotification(Path<? extends Notification> path) {
^
symbol: class Notification
location: class QNotification
/Volumes/DATA/notification-service/app/build/generated/source/app/main/net/platform/notification/domain/impl/entity/QNotification.java:80: error: cannot find symbol
public QNotification(PathMetadata metadata) {
^
symbol: class PathMetadata
location: class QNotification
/Volumes/DATA/notification-service/app/build/generated/source/app/main/net/platform/notification/domain/impl/entity/QNotification.java:5: error: package com.querydsl.core.types.dsl does not exist
import com.querydsl.core.types.dsl.*;
^
Why it fails during build and works fine after bootRun ?