buildscript {
ext {
springBootVersion = '1.4.0.BUILD-SNAPSHOT'
querydslVersion = '4.1.3'
}
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
maven {url "https://plugins.gradle.org/m2/"}
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.7"
}
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
apply plugin: 'jacoco'
apply plugin: 'groovy'
apply plugin: "com.ewerk.gradle.plugins.querydsl"
jar {
baseName = 'billing'
version = '0.0.1-SNAPSHOT'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
jcenter()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
maven { url "https://repo.spring.io/libs-snapshot" }
maven { url "https://repo.spring.io/libs-snapshot"}
maven {url "https://plugins.gradle.org/m2/"}
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-security')
compile('org.springframework.boot:spring-boot-starter-web')
compile "com.querydsl:querydsl-root:$querydslVersion"
compile "com.querydsl:querydsl-jpa:$querydslVersion"
compile "com.querydsl:querydsl-apt:$querydslVersion:jpa"
compile 'org.codehaus.groovy:groovy-all:2.4.1'
compile fileTree(dir: "libs/qbo-sdk-2.5.0", include: "*.jar")
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.spockframework:spock-core:1.0-groovy-2.4') {
exclude group: 'org.codehaus.groovy', module: 'groovy-all'
}
testCompile('org.spockframework:spock-spring:1.0-groovy-2.4') {
exclude group: 'org.spockframework', module: 'spock-core'
}
testCompile("junit:junit")
}
sourceSets {
main {
output.resourcesDir = output.classesDir
}
generated {
java {
srcDirs = ['src/main/generated']
}
}
}
querydsl {
library = 'com.mysema.querydsl:querydsl-apt'
querydslDefault = true
}
test {
reports.junitXml.destination = file('build/test-results/folder')
}
jacoco {
toolVersion = "0.7.0.201403182114"
}
jacocoTestReport {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
}
configurations {
querydslapt
}
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
idea {
module {
sourceDirs += file('generated/')
generatedSourceDirs += file('generated/')
}
}
Caused by: java.lang.ClassNotFoundException: com.company.billing.customer.QCustomer
至少,这是我目前关于构建失败原因的理论。有人使用了最新的spring、gradle和querydsl吗?
更新:我删除了ewerk插件并简化了我的build.gradle文件,所以现在一切都可以正常构建了。我正在更新以帮助其他可能需要此功能的人:
buildscript {
ext {
springBootVersion = '1.4.0.BUILD-SNAPSHOT'
querydslVersion = '4.1.3'
}
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
apply plugin: 'jacoco'
apply plugin: 'groovy'
jar {
baseName = 'billing'
version = '0.0.1-SNAPSHOT'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
jcenter()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
maven { url "https://repo.spring.io/libs-snapshot" }
maven { url "https://repo.spring.io/libs-snapshot"}
maven {url "https://plugins.gradle.org/m2/"}
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-security')
compile('org.springframework.boot:spring-boot-starter-web')
compile "com.querydsl:querydsl-root:$querydslVersion"
compile "com.querydsl:querydsl-jpa:$querydslVersion"
compile "com.querydsl:querydsl-apt:$querydslVersion:jpa"
compile 'org.codehaus.groovy:groovy-all:2.4.1'
compile fileTree(dir: "libs/qbo-sdk-2.5.0", include: "*.jar")
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.spockframework:spock-core:1.0-groovy-2.4') {
exclude group: 'org.codehaus.groovy', module: 'groovy-all'
}
testCompile('org.spockframework:spock-spring:1.0-groovy-2.4') {
exclude group: 'org.spockframework', module: 'spock-core'
}
testCompile("junit:junit")
}
test {
reports.junitXml.destination = file('build/test-results/folder')
}
jacoco {
toolVersion = "0.7.0.201403182114"
}
jacocoTestReport {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
}
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
idea {
module {
sourceDirs += file('generated/')
generatedSourceDirs += file('generated/')
}
}
你看到你的qclasss在Gradle输出中生成了吗?从您的错误来看,它似乎已经超过了它应该生成它们的点。
我认为问题是您没有配置JPAAnnotationProcessor
。在gradle中,通过将:jpa附加到您的querydsl-apt依赖项来方便地完成这一操作。在Maven中,您手动应用插件。
我在我的Build.Gradle中有以下与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
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]
编辑:
我不熟悉ewerk插件,所以我看了看。它似乎试图为您激活JPAAnnotationProcessor。您可能需要根据这里的文档设置JPA标志,因为它默认为false。
有关依赖关系问题,请参阅注释线程。编辑:对于Gradle4.6+,可以使用AnnotationProcessor
语法。
api "com.querydsl:querydsl-root:$querydslVersion"
api "com.querydsl:querydsl-jpa:$querydslVersion"
annotationProcessor "com.querydsl:querydsl-apt:$querydslVersion:jpa"
但是如果可能的话,我想避免这种情况,因为它迫使我定义n个构造函数,为我在投影中想要的n个字段组合定义n个构造函数。
我找过类似的题目,但什么也没有找到。 是否可以用IntelliJ15的社区版开发java WEBAPP? 很抱歉,我的问题不太好,我已经主要使用eclipse了。提前致谢=)
我试图使用querydsl-collections,但未能编写简单的groupBy表达式。以下是我的尝试: 但当我试着运行它的时候。我得到:
问题内容: 我是Spring数据JPA的新手,正在尝试了解如何最好地将其与QueryDSL结合使用。没有QueryDSL,我将可以在SpringData接口中使用@Query注释简单地创建任何查询。 为了获得与使用QueryDSL相同的经验,从我可以看到的角度来看,我需要创建自己的自定义存储库实现,并使我的repo接口扩展我的自定义实现接口,或者将我的所有QueryDSL查询放在包装我的repo的
在一个项目中,我有以下实体:具有连接到关键字的模板部分的模板。这两种关系都是。一些代码: 然后,我尝试使用给定ID查找与某个模板相关的关键字。我使用使用此谓词执行此操作: 由于某些原因,谓词处理得根本不好。尝试调用方法时出现此错误: 组织.hibernate.hql.internal.ast.QuerySyntax 异常: 模板实体部分目录未映射 [选择关键字身份\nfrom mypackage.
null 类似于REST查询DSL 用于全文和结构化搜索的查询语言