当前位置: 首页 > 知识库问答 >
问题:

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

张光辉
2023-03-14

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

我从IntelliJ收到以下消息:

我尝试了StackOverFlow、官方文档和JavaCodeGeeks,但没有成功。

这是我的配置文件:

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

以及我申请的相关部分。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个答案

林英锐
2023-03-14

@Stephane帮我找到了答案。

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

我发现build中的子文件夹被IntelliJ标记为排除(我不知道为什么)。

当我试图一个接一个地解决问题时,我从未成功过。当我一次执行所有修复并将class子文件夹标记为NOT excluded时,一切正常(尽管IntelliJ不断向我显示错误消息)。

感谢@Stephane帮助我。

澹台岳
2023-03-14

遗憾的是,Groovy不支持注释处理器。您可能希望报告IJ不应该在Groovy代码中显示此警告。

 类似资料:
  • 我试图使用IntelliJ2017 Ultimate构建/运行一个使用MapStruct的Spring Boot应用程序。这是一个分级项目。我的问题是IntelliJ似乎没有运行MapStruct注释处理器。我意识到我可以配置IntelliJ来委托Gradle构建过程(请参见此),但我希望简单地配置IntelliJ来使用APT来生成必要的类本身。 我已经为我的项目启用了APT,但是我的类仍然没有生

  • 因此,我试图在IntelliJ中使用项目配置设置中的spring选项启动一个新的web项目,但当我最终获得项目设置时,似乎我创建的任何新控制器都被忽略了,即使我对它们进行了注释。@RequestMapping似乎从未被映射。我所能访问的只是位于web目录根目录中的文件。 在无法使其工作之后,我切换到Gradle,以便可以导入一些额外的库来测试我的项目。我的gradle文件如下所示: 是否有某种配置

  • 我从命令行使用和运行我的Spring Boot项目。这样做很好,但不是很方便。我想通过点击绿色的run按钮直接从Intellij启动它。 我试图添加一个新的运行配置,但没有成功。我设置了“main class”和“active profiles”,并尝试添加“run maven goal”,但最后一个不起作用(当我选择工作目录时--使用pom.xml的目录--它说没有找到maven project

  • 我有一个包含2个模块的maven项目。其中一个模块包含注释处理器。当我尝试将项目作为Android项目的依赖项导入时,它不会运行注释处理器。找不到生成的类文件。 我从jitpack导入如上所示的项目。jitpack上的构建成功了,我也可以在本地访问代码,这意味着编译成功了。但是应该生成的类并没有生成。所以要么是处理器没有启动,要么是我生成的类在错误的位置?android项目确实使用了许多其他带有注

  • 我错过了什么? 编辑: 看来Gradle也不接我的测试。当我转到时,它指示0 test。 在IntelliJ中,我打开Gradle窗口,点击“刷新所有Gradle项目”按钮,刷新库。 然后在我的测试类中,我在类声明的顶部添加了。 当我执行时,结果可以在下面找到:

  • 有人知道如何在Android项目中启用Eclipse中的注释处理吗?我做了以下工作: 使用处理器和META-INF创建Java项目 如果我从文件夹中删除jar文件,Eclipse会报告项目中的错误,因为找不到注释处理器。但是,如果处理器就位并且配置了Eclipse,则不会进行处理 如果我在标准Java项目中使用相同的处理器,它就可以正常工作<有人能帮我吗?谢谢