记录:Failed to configure a DataSource: ‘url‘ attribute is not specified and no...【解决方案】

记录:Failed to configure a DataSource: ‘url‘ attribute is not specified and no...【解决方案】,第1张

记录:Failed to configure a DataSource: ‘url‘ attribute is not specified and no...【解决方案】

        有个粉丝投稿,向bug菌寻求帮助。我一看到这个bug,这不是很典型么,但是我不能直截了当的告诉她具体怎么做,我要还原整个报错现场。只为了把这个问题放大,教一人不如教千万人,授人以鱼不如授人以渔。对吧?

如下完整报错,知道如何解决的小伙伴可以直接跳过这段报错,不会的小伙伴建议多想想,猜测可能会有那些问题导致报此错。

一:前言

项目背景:jdk1.8 + springboot 2.3.1.RELEASE 

开发工具:windows10 + idea 2019.3

... ...

        她说:”项目本地idea正常启动,swagger调用接口code返回200,数据正常,但是使用idea 自带的package进行打jar包,打包中途也是没有出现任何问题,jar包也打成功了。

       可就是在执行jar命令运行报错 “。这里就考考大家的英语水平如何,报错内容大致啥意思啊?翻译一下,其实问题也就解决了。好吧,我就不卖关子了,报错内容大致意思就是你配置的数据库url地址要么有问题、要么就是没有指定数据库url地址,项目与数据库间无法连通。

        "我这本地不是都运行好好的嘛,怎么打包了就不能用了呢?"哈哈哈哈,有跟她问题一样的小伙伴别急哈,我记录此文,目的就是为了分享给大家出现这个bug究竟是个什么鬼情况并且教大家如何打败它,咱们接着往下看。

        ... ...

        如果这篇踩坑记录对你有帮助, 那还请别吝啬你手中的赞,勇敢的把它点亮! 好不好,对bug菌而言那就是我在写作道路上最大的鼓励与加油。

二、分析

首先,分析一下,既然配置文件前后都未曾改动,那打成jar包也不可能会更替你的配置内容,所以很明显一点,对比在下方。maven项目构建运行,你可以查看下你target文件夹下的文件,会发现一件很神奇的事,target中没有配置文件,发现没有?

 如果你跟她是一样把config文件夹配置在了项目根目录,那你的报错及解决方式铁定会跟她一样。

拓展:

问:target文件夹是干啥用的?

答:target文件夹是用来存放项目构建后的文件和目录、jar包、war包、编译的class文件。

三、解决方案 方式一:

1、将config文件夹挪进resources目录里:具体如下:4、

2、然后再进行编译打包,你再打开target对比先前未挪进来config编译后的target ,你会发现config文件夹有被编译进来。如下:

3、 启动jar。

 

4、明显可以看到按指定运行test3的项目环境,项目启动也无任何报错。

5、测试一下接口访问,swagger测试一波。

6、随便请求一个接口进行试试;数据也是正常返回。

 以上就是解决方式一的全部内容了。等等,请留步,以为要end了?bug菌会这么敷衍了事嘛?当然不会!!

... ...

很明显这不是最好的解决方式,是个开发都明白,一般配置文件都不会与代码放一起进行编译打包,不方便做便捷修改,比如配置环境如test改成dev环境,那你打包在jar内,你只能重新修改active指定再打jar重新编译打包,对不对,所以啊,接下来我为大家准备了解决方案第二套,包您满意。

方式二:

springboot早早就为此而制定了方案,启动项目可以指定外部配置文件进行使用,启动jar 并指定配置文件。

如果是同一个配置,同时存在于内部配置文件和外部配置文件,则外部配置的会把内部配置覆盖,优先级是外部>内部。你只需要在执行jar命令时,附带指定配置文件,即可:

语法:

java -jar xxx.jar -Dspring.config.location=/xx/application-dev.yaml

说明:语法中的  /xx/application-dev.yaml  ,即为你的配置文件目录地址;

实例演示:cmd输入上述jar命令,进行项目启动。

很明显,也是正常按active指定的环境运行启动。

接下来就是测试看看接口通不通啦,这里bug菌就不一一进行演示啦 ,很简单的啦~~~~

 以上,就是解决此bug的两种方案的全部内容啦,极力推荐建议使用方式二,快捷方便!!!悄悄告诉你们大佬都是这么配的,我也是这么配的,你们懂了么。


❤如果文章对您有所帮助,就请在文章末尾的左下角把大拇指点亮吧!(#^.^#);

❤如果喜欢bug菌分享的文章,就请给bug菌点个关注吧!(๑′ᴗ‵๑)づ╭❤~;

❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】;

❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复参与讨论(请勿发表攻击言论,谢谢);

❤版权声明:本文为博主原创文章,转载请附上原文出处链接和本文声明,版权所有,盗版必究!(*^▽^*).

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5703424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存