12月12日
java.util.zip.ZipException:invalid LOC header
错误原因:
这个报错是maven 找不到头文件,也就是Maven更新文件时,包下载不完整。
导致某些组件无法启动。正确的解决方式:
到maven的reposity目录下搜aether*****in-progress(可以搜aether或者in-progress都行)文件,如果存在,把这个文件对应的版本目录删除,刷新一下项目重新部署打包即可。
12月13日
2017-12-13 19:28:10.424 [http-nio-8080-exec-7] DEBUG com.elliot.o2o.util.ImageUtil - curerent relativeAddr is:\upload\item\shop\1\2017121319281032757.jpg
2017-12-13 19:28:10.424 [http-nio-8080-exec-7] DEBUG com.elliot.o2o.util.ImageUtil - current completeAddr is:D:\projectdev\image\upload\item\shop\1\2017121319281032757.jpg
2017-12-13 19:28:10.424 [http-nio-8080-exec-7] DEBUG com.elliot.o2o.util.ImageUtil - basePath:D:\projectdev\image
2017-12-13 19:28:10.435 [http-nio-8080-exec-7] ERROR com.elliot.o2o.util.ImageUtil - javax.imageio.IIOException: Can't read input file!
javax.imageio.IIOException: Can't read input file!
错误原因:
文件无法读取,路径错误,这里是basePath少了一个 \ 。
加上之后完美解决,遇到这种报错,要检查配置路径是否正确。
1月6日
问题描述:java代码在开始事务后,先做了一个查询,再insert,此时会报: ERROR JDBCExceptionReporter:78 - Could not retrieve transation read-only status server
问题解决过程:查看mysql的事物隔离级别
SHOW VARIABLES LIKE '%iso%';
返回结果:REPEATABLE-READ
把这个改成:READ-COMMITTED 就好了: SET GLOBAL tx_isolation='READ-COMMITTED'; (记得java重启应用)
要永久生效的就改my.cnf。
分析:当数据库隔离级别为REPEATABLE-READ时,发布一个select语句也算是事物的开始,而且在hibernate里会把以select语句开头的事务标记为只读事务,此时在这个事务里再执行insert、update、delete等DML语句就会报错。