如何使用querydsl制作spring boot msa

问题描述 投票:0回答:1

我使用的是 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
}
spring-boot gradle microservices querydsl
1个回答
0
投票

尝试从编译器分析中排除生成的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*")
}
© www.soinside.com 2019 - 2024. All rights reserved.