"重新运行SpringBoot配置注释处理器"在Groovy,IntelliJ和Gradle的项目中

时间:2017-01-06 13:44:00

标签: intellij-idea gradle groovy spring-boot

我正在使用IntelliJ 15.0.6,SpringBoot 1.4.3.RELEASE,Gradle 2.14和Groovy 2.3.11。

我从IntelliJ收到以下消息:

enter image description here

我尝试从StackOverFlowthe official documentationJavaCodeGeeks关注但没有成功。

这是我的配置文件:

@Configuration
@ConfigurationProperties(prefix = "configuracoes")
class GeralConfiguration {
    def proxyEndereco
    def proxyPorta
}

我的application.yaml文件的相关部分:

configuracoes:
    proxyEndereco: http://fake.com
    proxyPorta: 8080

如果从配置文件中删除@ConfigurationProperties,则消息将消失。

这是我的build.gradle文件:

buildscript {
    repositories {
        mavenLocal()
        maven {url('http://repo.spring.io/plugins-release')}
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.3.RELEASE")
        classpath('org.springframework.build.gradle:propdeps-plugin:0.0.7')
    }
}

apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'propdeps'
apply plugin: 'propdeps-idea'
sourceCompatibility = 1.7

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter")
    compile("org.springframework.boot:spring-boot-devtools")
    optional("org.springframework.boot:spring-boot-configuration-processor")
    compile('org.codehaus.groovy:groovy-all:2.3.11')
    compile('com.machinepublishers:jbrowserdriver:0.17.3')
    compile("org.im4java:im4java:1.4.0")

    testCompile("org.springframework.boot:spring-boot-starter-test")
    testCompile("org.spockframework:spock-core:1.1-groovy-2.4-rc-3")
}

compileJava.dependsOn(processResources)
compileGroovy.dependsOn(processResources)

关于发生了什么以及如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:2)

不幸的是,Groovy不支持注释处理器。您可能想要报告IJ不应该使用Groovy代码显示此警告。

答案 1 :(得分:2)

@Stephane帮助我找到答案。

确实,Groovy不支持注释处理器,但我也没有设法让它在src/main/java内工作。

我发现classes内的build子文件夹被IntelliJ标记为excluded(我不知道为什么)。

当我尝试逐一修复问题时,我从未获得成功。当我立刻执行所有修复并将classes子文件夹标记为 NOT 时,排除了一切正常(尽管IntelliJ不断向我显示错误消息)。

感谢@Stephane帮助我。