Java踩坑记录 --含各种报错信息


junit 单元测试报错

场景:引入junit-4.12.jar后,调用@Test时出错

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
>解决: 改引入低版本的就行了,比如引入junit4.10.jar

原因:貌似4.11以上版本不在包含hamcrest。详细参考下面文章,说的很详细了。

https://blog.csdn.net/u011954243/article/details/77962329


Nginx轮询失效

场景:明明设置了轮询策略,但浏览器还是只能访问同一个Tomcat

解决思路:F12调出浏览器的调式页面,在Network的Tab页里,看一下请求信息。如果有favicon.ico这个请求,下面的方法就可以解决问题。

解决:在Nginx配置文件中,server块中添加如下代码,之后nginx -s reload就好了

location /favicon.ico {
        }

原因:貌似谷歌浏览器会把标签页的小图标也当作请求一起发送,favicon.ico就是指的这个小图标

再详细的,就看一下这个文章吧

https://bbs.csdn.net/topics/393650853


String转Date出错

场景:明明时间格式都对上了,还是解析(format.parse)出错

SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",Locale.ENGLISH);
Date date = null;
date = format.parse(time);//time:String类型,内容是我们想转的字符串

>解决:除了时间格式要匹配外,后面的locale也指定一下,就会解析成功

原因:我记得好像有很多国家的时间格式,如果不能判断是哪个国家类型的时间,就会不能解析。(另外,本例为默认时间格式,方便不想研究时间格式的小伙伴们)


场景:使用New date(String)转换时间时,时间的判断逻辑出错

Date date = new Date(time);//time:String类型,内容是我们想转的字符串
解决:利用format.parse(time)来转换时间

原因:根据我debug的结果,发现new Date(time)不能正确转换时间,所以会导致正确的逻辑判断也会出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值