W.r.t.从 Gradle 将选项传递给 JPAAnnotationProcessor

2024-04-12

我正在使用 Gradle 版本 2.14,我做了一些更改build.gradle排除包JPAAnnotationProcessor如中提到的question https://stackoverflow.com/questions/25918665/pass-options-to-jpaannotationprocessor-from-gradle. My build.gradle配置相同如下:

configurations {

    querydslapt     
}


dependencies{
    compile group: 'com.querydsl', name: 'querydsl-core', version: '4.1.4'
    compile group: 'com.querydsl', name: 'querydsl-apt', version: '4.1.4'
    compile group: 'com.querydsl', name: 'querydsl-jpa', version: '4.1.4'

}

task generateQueryDSL(type: JavaCompile, group: 'build', description: 'Generates the QueryDSL query types') {

    source =sourceSets.main.java

    classpath = configurations.compile + configurations.querydslapt
    options.compilerArgs = [
            "-proc:only",
            "-processor", "com.querydsl.apt.jpa.JPAAnnotationProcessor",
            "-Aquerydsl.excludedPackages=com.projectx.data.domain.poc.lombok"            
    ]
    destinationDir = sourceSets.generated.java.srcDirs.iterator().next()
}

compileJava {
    dependsOn generateQueryDSL
    source generateQueryDSL.destinationDir
}

compileGeneratedJava {
    dependsOn generateQueryDSL
    options.warnings = false
    classpath += sourceSets.main.runtimeClasspath
}

但是当我构建应用程序时,我收到警告warning: The following options were not recognized by any processor: '[querydsl.excludedPackages]'

并且指定的包不会被排除在预处理之外。


找到解决办法了!

添加后querydsl.entityAccessors=trueaptOptions 警告仍然存在,但排除软件包有效!

对于你的情况,你应该尝试添加-Aquerydsl.entityAccessors=true to options.compilerArgs =[]希望能帮助到你

UPDATED

刚刚注意到您在项目中使用了 lombook。 找到了这个(如何让 QueryDSL 和 Lombok 一起工作 https://stackoverflow.com/questions/44522494/how-to-make-querydsl-and-lombok-work-together)希望对您有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

W.r.t.从 Gradle 将选项传递给 JPAAnnotationProcessor 的相关文章

随机推荐