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

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

我正在使用Gradle版本2.14,我已经在build.gradle中进行了更改以排除JPAAnnotationProcessor中提到的question包。我的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]'的警告

并且预处理不排除指定的包。

jpa gradle querydsl
1个回答
3
投票

找到了解决方案!

添加querydsl.entityAccessors=true后仍然存在aptOptions警告,但排除包工作!

在你的情况下,你应该尝试添加-Aquerydsl.entityAccessors=trueoptions.compilerArgs =[]希望它有所帮助

更新

刚刚注意到你在项目中使用lombook。发现这个(How to make QueryDSL and Lombok work together)希望它对你有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.