1、記錄一次坑
在配置jasypt時,一些都很順利,pom引入,項(xiàng)目啟動。
從網(wǎng)上搜索資料jar包啟動手動設(shè)置秘鑰
java -jar -Djasypt.encryptor.password=1234qwer test.jar
但是在部署的時候,提示該錯誤。
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to bind properties under 'spring.datasource.password' to java.lang.String:
Reason: Failed to bind properties under 'spring.datasource.password' to java.lang.String
Action:
Update your application's configuration
2、查詢資料
部署啟動,報錯。查找原因:
1、檢查配置,空格等。沒有發(fā)現(xiàn)問題。
2、檢查版本,版本為2.1.2,沒有發(fā)現(xiàn)問題。
3、由于是設(shè)置了配置分離,端口等。將 Djasypt 配置放在 jar后面,依據(jù)報錯。
3、分析報錯
回過神來看報錯信息
Failed to bind properties under ‘spring.datasource.password’ to java.lang.String
未能將“spring.datasource.password”下的屬性綁定到j(luò)ava.lang.String
也就是說,我的這個配置不是個字符串咯。
于是將秘鑰加個引號’
如下:
java -jar -Djasypt.encryptor.password='1234qwer' test.jar
完美解決問題。
4、總結(jié)
貼一下項(xiàng)目原本啟動命令
nohup java -jar /app/web.jar --server.port=8080 --spring.config.location=/app/web.yml >> /app/web.out 2>&1 &
很簡單的報錯,卻排查很久。
原因還是定勢思維。不難發(fā)現(xiàn),無論是port的配置,還是yml的配置,都沒有對=之后的內(nèi)容做處理,便可以直接識別。
還以之前的思維去考慮這個配置,就很難找到原因。
遇到類似的問題,不如清空腦袋,從問題源頭,分析異常。范圍更容易找到原因。文章來源:http://www.zghlxwxcb.cn/news/detail-716496.html
SpringBoot集成jasypt,加密yml配置文件:https://blog.csdn.net/qq_38254635/article/details/132026841
參考鏈接:
https://stackoverflow.com/questions/69255586/djasypt-encryptor-password-mavens-option-doesnt-work
https://www.cnblogs.com/nmdzwps/p/16291553.html
https://blog.csdn.net/libusi001/article/details/108465034
https://blog.csdn.net/weixin_43461040/article/details/125542216文章來源地址http://www.zghlxwxcb.cn/news/detail-716496.html
到了這里,關(guān)于Failed to bind properties under ‘spring.datasource.password‘ to java.lang.String的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!