最近在github上git了好几个项目,莫名其妙发现都用不了了,不能能那么巧吧,然后花一上午查看源码,也没啥毛病啊,从idea的配置检查到tomcat都没发现有什么问题,再仔细查看下log,发现都是在获取数据库连接的时候疯狂报错。想到之前引入的mysql-connector包的版本不同,在url填写那还要额外加一大段的时区问题才可以正常运行,然后又花了一下午疯狂找资料才解决了这个问题,下面对编程中可能遇到的坑进行总结,防止以后也踏进去(持续更新):
1.检查你的mysql和maven引入连接包的版本
当mysql版本比较高比如8.0.13了,引入的mysql-connector-java包版本过低会导致程序不能运行
解决办法:
更新你的mysql到最新,引入最新的mysql-connect-java包(把5.1.45我就是改成了8.0.11项目就可以运行了,之前还报一些莫名其妙的错误)
2.检查properties处的jdbc的url的填写
最新的8.0.11连接包和8.0.13的mysql在url填写处要加上时区处理,要不然不能运行
解决办法:
jdbc:mysql://127.0.0.1:3306/dept?characterEncoding=utf-8&serverTimezone=UTC
加上问号后的一串东西就可以解决这个问题,serverTimeZone我之前改成了GMT也是错的!
3.mysql中出现的乱码问题
输入:show variables like '%character%';
可以查看mysql的字符集情况,若出现乱码,可以试着把字符集都修改成utf-8
注意如果在修改前建的库和表,即使后面修改了整体的字符集,数据库并不会自动修改,所以需要单独修改。
当然修改mysql字符集之前可以试试使用springMVC的过滤器可以将数据都转化为uf-8编码以及idea的编码格式都改为utf-8,做过这一步还有问题再尝试修改mysql的相关配置。
甚至之前一个同学都这样做了后来发现怎么样都是乱码,帮他排查了半天也没发现错。。后来用navicat打开
就没出现乱码。。原来时cmd命令行的默认编码不是utf-8或者gbk导致的cmd查看mysql情况时是乱码,之后
修改下cmd的默认编码就正常了。
4.tomcat日志的乱码问题
因为换了台电脑,重新配了下环境,发现tomcat各种日志都是乱码,按照百度修改Catalina.bat文件和在server.xml中修改
配置文件也没有解决这个问题,到最后我把原来的电脑的tomcat打开,发现那台电脑上的是9.0.12,官网上最新的是9.0.14,
然后我抱着试一试的心态把原来电脑的tomcat拷到了我的电脑上,一运行。。。正常不乱码了,这官网是真的坑
5.github下载慢
有些比较大的项目下载巨慢,到最后还会失败,试几次都是这样,因为之前在vultr上买了个海外服务器搭了个梯子,开启ssr之后下载超快,至于修改host累死人就不干了
6.修改了maven的settings.xml文件还是巨慢
按照博客在settings.xml配了阿里云镜像发现每次加载工程还是巨慢,是因为idea每次建工程都会使用自带的默认的maven2或者maven3,导致你即使在本地配了高版本的maven3.6,他也不会使用,解决办法是File->setting->搜索maven,选择本地的maven,这是你再到左下角点maven进行更新项目时就会发现飞快了
7.数据库备份文件如psc文件使用方法
打开navicat,选择你要复原的库,点击备份,随便建一个备份文件,就可以知道备份文件的储存位置,这时将你要用的备份psc文件放入那里,回到navicat在备份处选择那个文件就行了
8.linux里准备的shell文件没错却不能运行
不妨检查下shell文件里是否有中文空格!!没经历过神tm能发现。