我正在尝试为新项目设置 Gradle 构建脚本。该项目将使用 JPA 2 以及Querydsl http://www.querydsl.com/.
On the Querydsl 参考文档的下一页 http://source.mysema.com/static/querydsl/2.1.2/reference/html/ch02s02.html,他们解释了如何为 Maven 和 Ant 设置 JPAAnnotationProcessor (apt)。
我想对 Gradle 做同样的事情,但我不知道如何做,而且我亲爱的朋友在这方面并没有给我太多帮助。我需要找到一种方法来调用带有参数的 Javac(最好没有任何额外的依赖项),以便能够指定 apt 应该使用的处理器(?)
虽然我对使用 Ant 的 gradle 没有任何问题,但我同意原始发布者的观点,即在这种情况下这是不可取的。我找到了 Tom Anderson 的 github 项目here https://bitbucket.org/twic/metamodelcriteriademo/overview这描述了我认为更好的方法。我对其进行了少量修改以满足我的需求(输出到 src/main/ generated),使其看起来像:
sourceSets {
generated
}
sourceSets.generated.java.srcDirs = ['src/main/generated']
configurations {
querydslapt
}
dependencies {
compile 'mine go here'
querydslapt 'com.mysema.querydsl:querydsl-apt:2.7.1'
}
task generateQueryDSL(type: Compile, group: 'build', description: 'Generates the QueryDSL query types') {
source = sourceSets.main.java
classpath = configurations.compile + configurations.querydslapt
options.compilerArgs = [
"-proc:only",
"-processor", "com.mysema.query.apt.jpa.JPAAnnotationProcessor"
]
destinationDir = sourceSets.generated.java.srcDirs.iterator().next()
}
compileJava.dependsOn generateQueryDSL
这种方法对我来说比另一种方法更有意义,如果它对你来说也有意义,那么你就有了另一个生成 querydsl 的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)