我使用的是 Spring Boot 版本 3.0.2 和 Gleddle 版本 7.6.1。
当我在 Gleddle 中进行干净构建时,我得到了 “尝试重新创建 com.joshua.system.common.audit.QTimeEntity 类型的文件” 我不断收到错误消息“尝试重新创建 com.joshua.system.common.audit.QTime.Entity 类型的文件”,我想知道您是否可以告诉我我创建的网格文件有什么问题。
下面是我创建的网格文件。
自 Spring Boot 3.0.x 以来,querydsl Qfile 生成有很大不同吗?
由 www.DeepL.com/Translator 翻译(免费版本)
这是我的 gradle 文件
buildscript {
dependencies {
classpath "io.spring.gradle:dependency-management-plugin:1.0.10.RELEASE"
}
}
plugins {
id 'java'
id 'org.springframework.boot' version '3.0.2'
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
id 'io.spring.dependency-management' version '1.1.0'
}
group = 'com.joshua'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
configurations {
developmentOnly
runtimeClasspath {
extendsFrom developmentOnly
}
compileOnly {
extendsFrom annotationProcessor
}
}
ext {
// set('springCloudVersion', "2020.0.3")
set('springCloudVersion', "2022.0.1")
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-hateoas'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.junit.jupiter:junit-jupiter:5.9.0'
implementation 'org.projectlombok:lombok'
implementation 'org.mapstruct:mapstruct:1.5.5.Final'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.5.Final'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.modelmapper:modelmapper:2.3.8'
implementation 'org.springframework.cloud:spring-cloud-starter-config'
implementation 'org.springframework.cloud:spring-cloud-starter-bus-amqp'
implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap'
implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
implementation 'org.springframework.cloud:spring-cloud-circuitbreaker-resilience4j'
implementation 'org.springframework.cloud:spring-cloud-starter-sleuth'
implementation 'org.springframework.cloud:spring-cloud-starter-zipkin:2.2.8.RELEASE'
implementation 'io.micrometer:micrometer-registry-prometheus'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.jsonwebtoken:jjwt:0.9.1'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor(
"org.projectlombok:lombok",
"org.mapstruct:mapstruct-processor:1.4.2.Final",
"com.querydsl:querydsl-apt:5.0.0:jakarta",
"jakarta.persistence:jakarta.persistence-api",
"jakarta.annotation:jakarta.annotation-api"
)
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
tasks.named('test') {
useJUnitPlatform()
}
// QueryDSL
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
尝试从编译器分析中排除生成的Q类,以便它们不参与重新生成。例如,可以使用
exclude
块中的 compileQuerydsl
参数来完成此操作:
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
options.compilerArgs += ['-proc:none']
source = fileTree(querydslDir)
include("org/example/spring/database/entity/**")
exclude("org/example/spring/database/entity/Q*")
}