gpt4 book ai didi

java - Spring Boot 无法引用 YAML 文件中的节点。没有该属性

转载 作者:行者123 更新时间:2023-11-30 03:13:32 27 4
gpt4 key购买 nike

这是 YAML 文件的外观。我想做的是引用databaseHostURL

spring:
profiles: default

databaseHostURL: localhost:3306

datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://${databaseHostURL}/mydatabase

这是 Spring bootRun 上的错误。

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确实是您试图从Gradle environment引用的属性,那么您需要确保它在某处定义。

另一方面,如果databaseHostURL是Spring property ,也许使用环境值进行设置,那么我建议您尝试注释掉 processResources block ,看看这是否可以让您的构建通过 processResources 任务并解决您的问题。

关于java - Spring Boot 无法引用 YAML 文件中的节点。没有该属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33150946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com