记录下IDea导入maven工程遇到的bug Failed to configure a DataSource: ‘url‘ attribute

本文记录了一位开发者在IDEA中导入Maven工程时遇到的问题及解决方案。问题在于导入后配置的数据源无法找到URL,尽管已经在application.yml文件中配置了数据库连接信息。经过排查,发现是由于.pom.bak文件导致的问题,删除该文件并重启IDEA后,工程成功运行。同时,文中还展示了如何组织项目结构,并提供了测试代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

今天用IDea导入maven工程遇到的Bug


问题描述:

Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could
按照讲课老师的一步步来导入工程
首先拖WebDemo…zip到本地的ideaProject目录
在这里插入图片描述
然后解压重命名为 ideaTest 修改文件夹内的porm.xml文件 用editplus打开编辑
在这里插入图片描述
在这里插入图片描述
修改里面的artifactId 和name 下的 DbDemo 重命名为ideatest 保存
在这里插入图片描述
然后打开idea导入工程 (必须说明的是这是maven工程 导入之前必须配置好maven 和本地仓库)

在这里插入图片描述

在这里插入图片描述
选择你当前目录下的ideatest目录 点击ok

在这里插入图片描述
点击thisWindow
在这里插入图片描述
打开文件内DbDemoApplication.java
如果出现图片下的这种场景证明你的maven配置完成 绿色三角旁有提示图标
在这里插入图片描述
然后生成一个com.tedu.mall包 这后面要用的到的!!!
在这里插入图片描述
在这里插入图片描述
然后在这里插入图片描述
将DbDemoApplication.java文件拖入新包com.tedu.mall包里 (之后测试要用的到的)
然后打开文件夹找到eclipse工作空间里的2个涉及到数据库操作的包 直接复制粘贴都工程文件夹路径

在这里插入图片描述
选中com文件夹 复制粘贴到对应ideatest目录下的com目录

在这里插入图片描述
点击是 选择合并 出现了2个包 (这2个包和对应的webDemo.zip待会会传的小伙伴别急)
在这里插入图片描述
再次用资源管理器方式拷贝下 ,放在resource目录下 然后删掉resource目录下的pojo包

在这里插入图片描述
删除resource目录下mapper文件夹里的java文件只保留xml文件
在这里插入图片描述
同样的删除src里mapper里的XML文件 src里的pojo包要留下来
在这里插入图片描述
删除完成后 目录下应该是这样
在这里插入图片描述
然后在resource目录下新建application.yml文件里面代码如下
在这里插入图片描述

server:
  port: 1515

spring:     
    datasource:        
        driver-class-name: com.mysql.cj.jdbc.Driver        
        url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
        username: root        
        password: 123456  
    
mybatis:
  mapperLocations: classpath:com.tedu.mall.mapper/*.xml

logging:
  path: ./logs
  level:
       com.tedu.mall.mapper: debug

然后删除DbDemo包

在这里插入图片描述
然后启动DbDemoapplication 会出现无法找到url
包 可奇怪是我们已经配置了yml文件
在这里插入图片描述
在这里插入图片描述


原因分析:

明明环境配置了为什么报这个错误呢 提示debug有问题???


解决方案:

删除对应目录下的porm.bak文件

在这里插入图片描述

然后重启Idea 进入ideatest工程 提示这个 点击Yes 删除
在这里插入图片描述
删除后 左边应该变成这样 DbDemo没有了
在这里插入图片描述
然后再起动就能正常运行了
在这里插入图片描述
后面写测试工程 要调取mapper包里面的内容 必须加入以下代码
在这里插入图片描述
例如我写了个测试类运行

package com.tedu.mall.controller;

import com.tedu.mall.mapper.UserMapper;
import com.tedu.mall.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class UserController {
    @Autowired
    UserMapper userMapper;
    @RequestMapping("/test")
    public List<User> test()
    {
        return userMapper.selectByExample(null);
    }

}

在这里插入图片描述
然后启动运行 调用本地的mysql数据库 访问端口号1515
出现 打开google chrome浏览器访问对应的地址
出现以下代表成功
在这里插入图片描述

我自己后面出错了 重新导了包 其中这个xml文件包名应该如下 不能错,一错会提示报500 错误

在这里插入图片描述

最后 待会上传下用到的webdemo.zip和2个包

欢迎大家来看看指出错误和不足

文章所用的文件包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值