Spring Boot MongoDb QueryDSL Gradle Intellij Integration用于生成QueryDSL Q类

时间:2016-09-30 11:13:25

标签: mongodb intellij-idea gradle spring-boot querydsl

我正在尝试使用Spring Boot项目中的gradle为我的Mongo实体生成QueryDSL Q类。我正在使用的IDE是Intellij。

我正在使用的代码改编自此主题Generating JPA2 Metamodel from a Gradle build script

sourceSets {
    generated {
        java {
            srcDirs = ['src/generated/java']
        }
    }
}

configurations {
    querydslapt
}

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", "org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor"
    ]
    destinationDir = sourceSets.generated.java.srcDirs.iterator().next()
}

compileJava {
    dependsOn generateQueryDSL
    source  generateQueryDSL.destinationDir
}

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

clean {
    delete sourceSets.generated.java.srcDirs
}

idea {
    module {
        downloadJavadoc = true
        downloadSources = true
        generatedSourceDirs += file('src/generated/java')
    }
}

问题是,在Intellij的最后我有3个模块。主要,测试和生成。测试和生成的模块取决于主模块。我还希望主模块依赖于生成的模块,因为我在代码中使用生成的Q类。

我所有解决此问题的尝试最终都是来自Gradle的循环依赖性错误。

有人可以给我一些提示,我可以尝试解决这个问题。

谢谢!

0 个答案:

没有答案