spring boot 项目mvn package命令执行时候会检测数据库连接

项目结构  sprignboot + maven + mysql + docker

在给项目打包的时候执行  mvn clean package 时候报错:

com.alibaba.druid.pool.DruidDataSource:    create connection error, url: jdbc:mysql://10.77.0.2:3306/cms?characterEncoding=utf8&useSSL=true, errorCode 0, state 08S01

查看报错原因可能是在package的时候去检查了数据库连接,由于数据库地址都是内网IP所以在打包的时候如果去连接肯定是连不上报错的,这时候就要去找的是哪个组件在package的时候去检查这个了

1号怀疑对象 : mybatis逆向工程

在项目代码构建之初用到了逆向工程  这部分用到了数据库连接,于是删掉了关于逆向工程的所有配置

心想这下应该不报错了吧!但是事实是相反的  还是报错!!同样的错误!

2 号怀疑对象   连接池/mybatis

经过查询网上连接池的配置  也没有说在package 的时候有相关的配置

3号  怀疑对象    测试类

和之前的项目对比发现多出的就是我的项目中有测试类  会不会是package的时候走了测试类

@RunWith(SpringRunner.class)
@SpringBootTest
public class EducationCmsApplicationTests {

    @Test
    public void contextLoads() {
    }

    @Autowired
    private SiteInfoMapper siteInfoMapper;

    @Test
    public void siteInfotest() {
        SiteInfoQuery siteInfo = new SiteInfoQuery();
        ArrayList<String> strList = new ArrayList<String>();
        strList.add("1");
        siteInfo.setOrganizationIdList(strList);
        List<SiteInfo> siteInfos = siteInfoMapper.selectBySelective(siteInfo);
        for (SiteInfo s: siteInfos) {
            System.out.println("ok");
            System.out.println(s.getSiteName());
        }
    }

}

验证方式:删掉所有测试类 

结果:执行成功

总结原因:

在package的时候么有跳过maven   test部分    造成在执行test的时候走了检查数据库连接

反证明:

加上test部分代码  执行命令  mvn clean package -Dmaven.test.skip=true  

结果:成功!!!

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值