java - 在 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
,但它仍然无法正常工作。
解决方案
推荐阅读
- django - django 错误,“精确查找的 QuerySet 值必须限制为使用切片的一个结果”
- groovy - Groovy 注释中的默认数组值
- php - 如何根据数据库中的受控列表值正确管理 Web 应用程序行为?
- django - 获取 Django 查询集中的重复记录
- c++ - 无法使用 FindFirstCHangeNotification 和 FindNextChangeNotification 通知目录更改
- sitecore - 单击sitecore中的发布按钮如何拦截现有的发布窗口?
- c++ - 旋转后如何保持 2D 精灵的纵横比?
- reactjs - 库来处理全局状态以及从 React 中的服务器获取的状态
- github-actions - 下载后 GitHub 操作工件不可用
- css - CSS:在某些选择器之前选择伪元素之后