我試圖用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
文件中的值都在那裏,只是沒有在戰爭文件。