我正在尝试在Spring-Boot 1.5.2项目中重新获得queryDSL 1.4.1的Q类。 IDE是Intellij Ultimate。
的build.gradle
buildscript {
ext {
springBootVersion = '1.5.2.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
plugins {
id 'net.ltgt.apt' version '0.8'
id 'java'
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'idea'
version = '0.0.5-SNAPSHOT'
sourceCompatibility = 1.8
ext {
queryDslVersion = '4.1.4'
javaGeneratedSources = file("$buildDir/generated-sources/java")
}
compileJava {
doFirst {
javaGeneratedSources.mkdirs()
}
options.compilerArgs += [
'-parameters', '-s', javaGeneratedSources
]
}
idea {
module {
sourceDirs += file('generated/')
generatedSourceDirs += file('generated/')
}
}
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-jdbc')
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-security')
compile('org.springframework.boot:spring-boot-starter-mail:1.5.7.RELEASE')
compile ("org.thymeleaf.extras:thymeleaf-extras-springsecurity4:3.0.0.RELEASE")
compile group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: '1.5.2.RELEASE'
compile group: 'org.thymeleaf.extras', name: 'thymeleaf-extras-springsecurity4', version: '2.1.2.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version: '1.5.2.RELEASE'
compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0")
compile group: 'org.hibernate', name: 'hibernate-java8'
compile "com.querydsl:querydsl-root:$queryDslVersion"
compile "com.querydsl:querydsl-jpa:$queryDslVersion"
compileOnly "com.querydsl:querydsl-apt:$queryDslVersion:jpa"
compile("org.springframework.boot:spring-boot-devtools")
compile('mysql:mysql-connector-java')
testCompile('org.hsqldb:hsqldb')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
Q类生成于:
build\generated\source\apt\main\generated\com\example\domain
即使javaGeneratedSources指向文件$ buildDir / generated-sources / java(该文件夹为空)。
构建错误是:
C:\Users\User\IdeaProjects\demo3\src\main\java\com\example\services\EpServiceImpl.java:13: error: cannot find symbol
import com.example.domain.QEp;
^
symbol: class QEp
location: package com.example.domain
答案 0 :(得分:8)
我建议尝试这个。
buildscript {
ext {
querydslVersion = "4.1.4"
metaModelsSourcesDir = file("metamodels")
}
}
configurations {
querydslapt
}
sourceSets {
main {
java {
srcDir metaModelsSourcesDir
}
}
}
task querymodels(type: JavaCompile, group: 'build') {
doFirst {
delete metaModelsSourcesDir;
metaModelsSourcesDir.mkdirs();
}
classpath = configurations.compile + configurations.querydslapt
destinationDir = metaModelsSourcesDir
source = sourceSets.main.java
options.compilerArgs = [
"-proc:only",
"-processor", "com.querydsl.apt.jpa.JPAAnnotationProcessor",
"-s", metaModelsSourcesDir
]
}
dependencies {
compile("com.querydsl:querydsl-core:${querydslVersion}")
compile("com.querydsl:querydsl-jpa:${querydslVersion}")
querydslapt("com.querydsl:querydsl-apt:${querydslVersion}")
}
答案 1 :(得分:0)
如果您的Gradle高于5,它将无法正常工作。 https://github.com/ewerk/gradle-plugins/issues/116