带有 gradle 和 querydsl 的 IntelliJ
IntelliJ with gradle and querydsl
我正在为我的 gradle 项目使用 IntelliJ 14.1.1(但此问题存在于以前的版本中)。我的 gradle 文件有以下内容:
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'jacoco'
apply plugin: 'maven'
project.ext {
springBootVersion = '1.1.7.RELEASE'
}
configurations {
querydslapt
}
jacoco {
toolVersion = "0.7.0.201403182114"
}
buildscript {
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
maven { url "http://repo.spring.io/libs-milestone" }
maven { url "http://repo.spring.io/libs-snapshot" }
mavenLocal()
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.3.RELEASE")
}
}
jar {
...
}
repositories {
mavenCentral()
maven { url "http://repo.spring.io/libs-milestone" }
...
}
jacocoTestReport {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
}
task wrapper(type: Wrapper) {
gradleVersion = '1.11'
}
//Querydsl
def generatedSrcDir = 'src/main/generated'
task createGeneratedSrcDir << {
file(generatedSrcDir).mkdirs()
}
compileJava.dependsOn createGeneratedSrcDir
compileJava {
options.compilerArgs << '-processor' << 'com.mysema.query.apt.jpa.JPAAnnotationProcessor' << '-s' << file(generatedSrcDir).absolutePath
}
clean {
delete generatedSrcDir
}
每次我进行 gradle 构建时,似乎 IntelliJ 都会丢失生成源的设置,我必须进入项目 |模块设置,并手动将 src/main/generated/ 添加到源中。
这通常有效,但我不明白为什么我必须不断告诉 IntelliJ 我的源路径是什么。是 IntelliJ 的问题,还是我的 gradle 文件的问题?
您可以使用以下代码:
apply plugin: 'idea'
idea {
module {
sourceDirs += file('src/main/generated')
generatedSourceDirs += file('src/main/generated')
}
}
我正在为我的 gradle 项目使用 IntelliJ 14.1.1(但此问题存在于以前的版本中)。我的 gradle 文件有以下内容:
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'jacoco'
apply plugin: 'maven'
project.ext {
springBootVersion = '1.1.7.RELEASE'
}
configurations {
querydslapt
}
jacoco {
toolVersion = "0.7.0.201403182114"
}
buildscript {
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
maven { url "http://repo.spring.io/libs-milestone" }
maven { url "http://repo.spring.io/libs-snapshot" }
mavenLocal()
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.3.RELEASE")
}
}
jar {
...
}
repositories {
mavenCentral()
maven { url "http://repo.spring.io/libs-milestone" }
...
}
jacocoTestReport {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
}
task wrapper(type: Wrapper) {
gradleVersion = '1.11'
}
//Querydsl
def generatedSrcDir = 'src/main/generated'
task createGeneratedSrcDir << {
file(generatedSrcDir).mkdirs()
}
compileJava.dependsOn createGeneratedSrcDir
compileJava {
options.compilerArgs << '-processor' << 'com.mysema.query.apt.jpa.JPAAnnotationProcessor' << '-s' << file(generatedSrcDir).absolutePath
}
clean {
delete generatedSrcDir
}
每次我进行 gradle 构建时,似乎 IntelliJ 都会丢失生成源的设置,我必须进入项目 |模块设置,并手动将 src/main/generated/ 添加到源中。
这通常有效,但我不明白为什么我必须不断告诉 IntelliJ 我的源路径是什么。是 IntelliJ 的问题,还是我的 gradle 文件的问题?
您可以使用以下代码:
apply plugin: 'idea'
idea {
module {
sourceDirs += file('src/main/generated')
generatedSourceDirs += file('src/main/generated')
}
}