pho*_*dka 6 properties intellij-idea gradle spring-boot spring-boot-configuration
我试图让Intellij使用gradle来识别我的属性。我已经按照这里的步骤进行了。所以这意味着我有一个@ConfigurationProperties带有某些属性的带注释的类。
我添加了spring依赖项来处理它们:
dependencies {
optional "org.springframework.boot:spring-boot-configuration-processor"
}
compileJava.dependsOn(processResources)
Run Code Online (Sandbox Code Playgroud)
我添加了插件(我尝试不使用插件,而只是使其成为编译依赖项,没有变化)
buildscript {
repositories {
maven { url 'http://repo.spring.io/plugins-release' }
}
dependencies { classpath 'io.spring.gradle:propdeps-plugin:0.0.9.RELEASE' }
}
apply plugin: 'propdeps'
apply plugin: 'propdeps-maven'
apply plugin: 'propdeps-idea'
Run Code Online (Sandbox Code Playgroud)
运行构建时,我看到build/classes/java/main/META-INF/spring-configuration-metadata.json根据属性创建了一个文件。当我尝试在application.yml或中使用该属性时application.properties,Intellij说它无法解析。
文档确实说应该调用additional-spring-configuration-metadata.json它,并且可能期望它能够被调用以对其进行处理,但是我没有看到这样的方式来使内部版本命名,也没有配置Intellij以其他方式期望它。
有没有人用gradle来工作?还是这是一个错误。
编辑我创建了一个带有两个项目的仓库来演示这一点。一种用于gradle,另一种用于maven。我从start.spring.io创建了项目,基本上只添加了属性配置。在这两种情况下,我还使用了直接编译依赖项,而不是可选的/ compileOnly。
我之前没有确认这一点,但是代码助手确实适用于Maven,但不适用于gradle。双方建立spring-configuration-metadata.json在META-INF在各自构建文件夹。我不确定谁不接。
Intellij: 2017.3.4
Springboot: 1.5.9
Gradle: 4.4.1
Java: 8.161
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7348 次 |
| 最近记录: |