我想使用querydsl生成'Q‘类。我所面临的问题是错误描述的:
> Task :compileJava FAILED
Attempt to recreate a file for type com.my.dinner.rest.database.entity.QIngredientAmount
Attempt to recreate a file for type com.my.dinner.rest.database.entity.QUser
Attempt to recreate a file for type com.my.dinner.rest.database.entity.QRating
Attempt to recreate a file for type com.my.dinner.rest.database.entity.QIngredient
Attempt to recreate a file for type com.my.dinner.rest.database.entity.QRecipe
error: Attempt to recreate a file for type
com.my.dinner.rest.database.entity.QIngredientAmount
error: Attempt to recreate a file for type com.my.dinner.rest.database.entity.QUser
error: Attempt to recreate a file for type com.my.dinner.rest.database.entity.QRating
error: Attempt to recreate a file for type com.my.dinner.rest.database.entity.QIngredient
error: Attempt to recreate a file for type com.my.dinner.rest.database.entity.QRecipe
5 errors
文件是生成的,但是构建失败了,我想类是多次生成的,但我不知道如何修复它。我正在使用这里描述的提示:
但在我的情况下不起作用。
我已经尝试过在谷歌,Github中找到的每一种build.gradle配置,但是没有任何帮助。
我的build.gradle文件:
plugins {
id 'groovy'
id 'java'
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
id 'io.franzbecker.gradle-lombok' version '1.8'
}
sourceCompatibility = '11'
group 'com.my.dinner.rest'
version '1.0-SNAPSHOT'
def springBootVersion = '2.3.1.RELEASE'
def springFrameworkVersion = '5.2.7.RELEASE'
def lombokVersion = '1.18.12'
def querydslVersion = '4.3.1'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '3.0.4', ext: 'pom'
// Spring
compile group: 'org.springframework', name: 'spring', version: springFrameworkVersion, ext: 'pom'
compile group: 'org.springframework', name: 'spring-webmvc', version: springFrameworkVersion
compile group: 'org.springframework.boot', name: 'spring-boot', version: springBootVersion
compile group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: springBootVersion
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: springBootVersion
// Hibernate
compile group: 'org.hibernate', name: 'hibernate-core', version: '5.4.17.Final'
compile group: 'org.hibernate.validator', name: 'hibernate-validator', version: '6.1.5.Final'
// Querydsl
implementation group: 'com.querydsl', name: 'querydsl-jpa', version: querydslVersion
implementation group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion
implementation group: 'com.querydsl', name: 'querydsl-core', version: querydslVersion
// Others
compile group: 'javax.persistence', name: 'javax.persistence-api', version: '2.2'
compileOnly group: 'org.projectlombok', name: 'lombok', version: lombokVersion
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30'
compile group: 'com.typesafe', name: 'config', version: '1.4.0'
compile group: 'org.modelmapper', name: 'modelmapper', version: '2.3.8'
annotationProcessor group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: springBootVersion
annotationProcessor group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
annotationProcessor group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-2.1-api', version: '1.0.2.Final'
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: lombokVersion
annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion
annotationProcessor group: 'com.querydsl', 'name': 'querydsl-apt', version: querydslVersion, classifier: 'jpa'
testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: springBootVersion
testCompile group: 'junit', name: 'junit', version: '4.13'
testCompile group: 'com.h2database', name: 'h2', version: '1.4.200'
}
def querydslSrcDir = "$buildDir/generated"
sourceSets {
main {
java {
srcDirs = ["$projectDir/src/main/java", querydslSrcDir]
}
}
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
querydsl {
library = "com.querydsl:querydsl-apt"
jpa = true
querydslSourcesDir = querydslSrcDir
}
configurations {
querydsl.extendsFrom compileClasspath
compileOnly {
extendsFrom annotationProcessor
}
}
clean.doLast {
file(querydslSrcDir).deleteDir()
}
分级版本: 6.5
Intellij版本: 2020.1
发布于 2020-06-23 22:27:24
所以我随机解决了修改build.gradle文件的问题。
我删除了不必要的插件,并在下面的整个部分中生成了以下所有类:
build/generated/annotationProcessor/java/main
我更新的build.gradle文件:
plugins {
id 'groovy'
id 'java'
}
sourceCompatibility = '11'
group 'com.my.dinner.rest'
version '1.0-SNAPSHOT'
def springBootVersion = '2.3.1.RELEASE'
def springFrameworkVersion = '5.2.7.RELEASE'
def lombokVersion = '1.18.12'
def querydslVersion = '4.3.1'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '3.0.4', ext: 'pom'
// Spring
compile group: 'org.springframework', name: 'spring', version: springFrameworkVersion, ext: 'pom'
compile group: 'org.springframework', name: 'spring-webmvc', version: springFrameworkVersion
compile group: 'org.springframework.boot', name: 'spring-boot', version: springBootVersion
compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: springBootVersion
compile group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: springBootVersion
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: springBootVersion
// Hibernate
compile group: 'org.hibernate', name: 'hibernate-core', version: '5.4.17.Final'
compile group: 'org.hibernate.validator', name: 'hibernate-validator', version: '6.1.5.Final'
// Querydsl
implementation group: 'com.querydsl', name: 'querydsl-jpa', version: querydslVersion
implementation group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion
implementation group: 'com.querydsl', name: 'querydsl-core', version: querydslVersion
// Others
compile group: 'javax.persistence', name: 'javax.persistence-api', version: '2.2'
compileOnly group: 'org.projectlombok', name: 'lombok', version: lombokVersion
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30'
compile group: 'com.typesafe', name: 'config', version: '1.4.0'
compile group: 'org.modelmapper', name: 'modelmapper', version: '2.3.8'
annotationProcessor group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: springBootVersion
annotationProcessor group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
annotationProcessor group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-2.1-api', version: '1.0.2.Final'
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: lombokVersion
annotationProcessor group: 'com.querydsl', name: 'querydsl-apt', version: querydslVersion
annotationProcessor group: 'com.querydsl', 'name': 'querydsl-apt', version: querydslVersion, classifier: 'jpa'
testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: springBootVersion
testCompile group: 'junit', name: 'junit', version: '4.13'
testCompile group: 'com.h2database', name: 'h2', version: '1.4.200'
}
版本:
11.0.7
6.5
2020.1.1
20.04 LTS
:
因此,我认为我以前看过的关于这个问题的所有问题都与旧的gradle版本有关,并且有许多解决方法不需要在我的gradle版本中应用。
https://stackoverflow.com/questions/62521275
复制相似问题