首页 > 解决方案 > 在 Spring Boot 应用程序中混合 Groovy 和 Java 源代码

问题描述

我已经使用 Groovy 源代码(仅)创建了一个 Spring Boot (v. 2.1.6) 应用程序,以及另一个使用 Java 代码(仅)的 Spring Boot 应用程序,但我无法成功创建一个混合使用两者的应用程序。我的尝试如下所示:

构建.gradle

plugins {
    id 'org.springframework.boot' version '2.1.6.RELEASE'
    id 'groovy'
    id 'java'
}

apply plugin: 'io.spring.dependency-management'

group = 'com.foo'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.codehaus.groovy:groovy'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

使用上面的构建文件,其中的任何源文件src/main/groovy似乎都按预期工作,但src/main/java似乎忽略了任何源文件。例如,我将下面的文件添加到src/main/java/com/example

@RestController
public class RootController {

    @GetMapping("/foo")
    public Object index() {
        return Collections.singletonMap("status", "OK");
    }
}

但是当我/foo在浏览器中导航到时,找不到此端点,即使它在 Java(仅限)Spring Boot 应用程序中工作。

是否可以在 Spring Boot 应用程序中混合使用 Groovy 和 Java 源代码,如果可以,我缺少什么?

更新

我尝试将 .java 文件移动到 下src/main/groovy,但它仍然无法正常工作。

标签: javaspring-bootgradlegroovy

解决方案


推荐阅读