昨日查错
昨天启动项目一直包错,第一次报错时spring自动注入Controller出错,由于Controller中的service注入出错,由于service中的某类的mapper出错,它对应的一个方法出错。
仔细检查,观察报错log,发现持久化类与数据库中的字段少了一个,而mapper中刚好用了那个字段有关的方法。
于是检查表结构,将字段重新加入,但是因为对项目不够熟悉,所以不太会重新进行自动生成表对应的一些类,启动还是前面的原因,于是干脆全部注释掉了与之前遗忘字段有关的方法与调用。
再次重新编译,发现报错的是DataSource失败,原因是未指定数据库的类型与连接驱动。检查配置文件,发现完全没问题啊。仔细找,好怪异。对比前面的项目,一样的配置,ok。多次尝试,最后还是没找到其它的原因。再次聚焦在配置文件上面,这次更仔细点了,所以对配置文件更熟悉了。还是没看出问题,再次运行项目,一次意外扫视console,发现tomcat启动的端口居然是8080而不是我们项目配置文件指定的6001,这下明了了。配置文件没有生效,然后打开编译后文件夹,发现没有编译进去配置文件。
于是重新build项目,观察编译过程,发现编译过程中的Test中的代码出错,编译错误,导致后面的编译没有成功进行,也就是配置文件没有进行编译进去。。。。。。。。。。然后将测试文件全部注释了,再次跑起来,over了。
对此我想说的就是:
报错一定要看报错信息,根据报错信息找错。
找问题仔细,不只要关注问题的焦点,与其共生的一些东西也可以适当关注下
出现问题的不一定是源代码,出现问题也不一定是因为代码写错了,有可能就没有正确的环境再好的代码也可能出问题。

浙公网安备 33010602011771号