我试图用gradle初始化我的dataSource,但是gradle没有将值存入我存储的yml
在我的机器上的.properties中,例如~/.gradle
,我在该位置创建了一个.properties文件。从存储在本地存储在gradle中的.properties文件中的值中将值添加到war文件到yml文件中
在摇篮我做了一个方法来获得从的.properties文件中的值,如下所示:
task copyDBConfig(type: Copy) {
from 'src/main/resources'
include 'app.yml'
into 'build/resources/main'
expand([
DB_URI: project.findProperty("dbURI") ?: "",
DB_USERNAME: project.findProperty("dbUsername") ?: "",
DB_PASSWORD: project.findProperty("dbPassword") ?: "",
])
}
war.finalizedBy(copyDBConfig)
然后在我的yml
文件我有:
spring:
datasource:
url: ${DB_URI}
username: ${DB_USERNAME}
password: ${DB_PASSWORD}
driverClassName: oracle.jdbc.OracleDriver
然而,当我建立战争文件,并在app.yml
文件中查看正确的值不存在,只是${DB_URI}
等,而不是它应该从我的.properties文件中获取并从我的app.yml
文件中输入的字符串。
当我运行应用程序,我得到了如下错误:
java.sql.SQLException: Driver:[email protected] returned null for URL:${DB_URI}
注:在build/resources/main/app.yml
从我app.properties
文件中的值都在那里,只是没有在战争文件。