gradle - 从Gradle构建脚本生成JPA2元模型

标签 gradle apt querydsl

我正在尝试为新项目设置Gradle构建脚本。该项目将使用JPA 2和Querydsl

他们在following page of Querydsl's reference documentation上解释了如何为Maven和Ant设置其JPAAnnotationProcessor(apt)。

我想对Gradle进行同样的操作,但是我不知道该怎么做,而我挚爱的 friend 在这一方面并没有太大帮助。我需要找到一种方法来调用带有参数的Javac(最好没有任何其他依赖项),以便能够指定apt应该使用(?)的处理器。

最佳答案

我没有测试它,但这应该可以工作:

repositories {
    mavenCentral()
}
apply plugin: 'java'
dependencies {
   compile(group: 'com.mysema.querydsl', name: 'querydsl-apt', version: '1.8.4')
   compile(group: 'com.mysema.querydsl', name: 'querydsl-jpa', version: '1.8.4')
   compile(group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.6.1')
}

compileJava {
    doFirst {
        Map otherArgs = [
            includeAntRuntime: false,
            destdir: destinationDir,
            classpath: configurations.compile.asPath,
            sourcepath: '',
            target: targetCompatibility,
            source: sourceCompatibility
        ]
        options.compilerArgs = [
            '-processor', 'com.mysema.query.apt.jpa.JPAAnnotationProcessor',
            '-s', "${destinationDir.absolutePath}".toString()
        ]
        Map antOptions = otherArgs + options.optionMap()
        ant.javac(antOptions) {
            source.addToAntBuilder(ant, 'src', FileCollection.AntType.MatchingTask)
            options.compilerArgs.each {value ->
                compilerarg(value: value)
            }
        }
    }
}

希望能帮助到你。

关于gradle - 从Gradle构建脚本生成JPA2元模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6431026/

相关文章:

android - 错误 : 1 on building Gradle android studio 3. 3.1

django - 找不到包 libapache2-mod-wsgi

java - QueryDSL 将此路径作为源添加到查询异常

java - Querydsl 中的常量 boolean 值

java - Spring分层Fat Jar和Gradle插件layertools jarmode

cordova - 失败:生成失败,发生异常。 ‘Error occurred during initialization of VM’ ionic

c++ - 如何为在 x86 主机上为arm目标交叉编译的项目安装依赖项

yum - 如何将 pkg-config 名称映射到 yum/apt-get

java - QueryDSL Spring 数据 Web 支持 java.util.Date

java - 制作包含测试文件的 Gradle 项目