java - 无法使用 gradle 生成 Spring Boot 配置元数据
问题描述
我想用这种方式生成 Spring Boot 配置元数据:
在 Maven 中,没关系:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
但在 gradle 中,没有生成:
dependencies {
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
}
有同样的问题spring-boot-configuration-processor
,maven 可以,但 gradle 不行。
我使用的插件 is java
or org.jetbrains.kotlin.jvm
, not org.springframework.boot
,但我不认为这是问题所在(使用 plugin org.springframework.boot
,问题仍然存在)。
解决方案
除了您提到的步骤之外,您还需要添加一个类映射。像下面的东西。
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "my.props")
@Data
public class MyProperties {
/**
* Prop1 description.
*/
private String prop1;
/**
* Prop2 description.
*/
private String prop2;
}
添加一个没有道具的类是可以的,但它是必需的。
resources/META-INF/additional-spring-configuration-metadata.json 的示例内容
{
"properties": [
{
"name": "my.props.prop1",
"type": "java.lang.String",
"description": "Prop1 description",
"defaultValue": "property 1"
}
]
}
推荐阅读
- pass-by-reference - 为什么 debug_backtrace 会抛出变量引用通知?
- python-3.x - 获取 docker 容器中当前 .py 文件的绝对路径
- nestjs - Nest / TypeORM:在先前定义关系后添加外键列清除数据
- iis - 计划 IIS 配置备份
- google-colaboratory - FileNotFoundError:找不到训练配置文件:baseline.topdown_confmaps.json
- c - 当子进程遇到等待指令时会发生什么?
- javascript - ReactJS React-router-dom 不显示页面 | 无法获取 /{location}
- wordpress - 来自类别的插件帖子的错误消息
- c# - 如何以编程方式测试 WiFi 直接连接?
- javascript - 在 Node.JS 中从谷歌驱动器下载公共图像