Java Spring boot无法引用YAML文件中的节点。没有这样的财产
下面是YAML文件的外观。我试图做的是引用Java Spring boot无法引用YAML文件中的节点。没有这样的财产,java,spring,gradle,spring-boot,yaml,Java,Spring,Gradle,Spring Boot,Yaml,下面是YAML文件的外观。我试图做的是引用数据库hosturl spring: profiles: default databaseHostURL: localhost:3306 datasource: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://${databaseHostURL}/mydatabase 下面是Spring引导运行的错误 6:20:06 PM: Executing e
数据库hosturl
spring:
profiles: default
databaseHostURL: localhost:3306
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://${databaseHostURL}/mydatabase
下面是Spring引导运行的错误
6:20:06 PM: Executing external task 'bootRun'...
:compileJava UP-TO-DATE
:compileGroovy UP-TO-DATE
:processResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':processResources'.
> Could not copy file '/com/home/users/Test/src/main/resources/application.yml' to '/com/home/users/Test/build/resources/main/application.yml'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 0.589 secs
No such property: databaseHostURL for class: SimpleTemplateScript7
6:20:07 PM: External task execution finished 'bootRun'.
我想看看你的build.gradle文件。 基于你所看到的失败, 我猜build.gradle中的“processResources”闭包不是空的, 我也猜它看起来像这样:
processResources {
expand( project.properties )
}
expand()试图用它们的值替换它认为是application.yml中的属性,当它看到${databaseHostUrl}时,它试图用该属性的值替换它-除了未设置该属性,因此您会收到错误消息:
No such property: databaseHostURL for class: SimpleTemplateScript7
如果databaseHostURL确实是您试图从引用的属性,那么您需要确保它是在某个地方定义的
另一方面,如果DavaSaveHoestURL是A,可能使用环境值来设置,那么我建议您注释一下Studio资源块,看看它是否允许您的构建通过处理资源任务并解决您的问题。
< P>我认为这是因为您在中间添加了属性,在Spring和DATA源之间。 尝试在Spring标记之前添加属性databaseHostURL: localhost:3306
spring:
profiles: default
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://${databaseHostURL}/mydatabase