springboot应用embedded-redis报错Can‘t start redis server

1、问题

springboot应用embedded-redis进行单测时出现java.lang.RuntimeException: Can’t start redis server. Check logs for details. Debug后发现问题出现在 outputLine的内容是:Creating Server TCP listening socket *:6379: bind: No error和redisReadyPattern不匹配

2、分析原因

端口6379被redis进程占用 最后的Afterclass中的redisServer.stop可能因为异常或者debug未正常结束

3、解决方法

方法一:

(1)打开cmd,查看端口6379是否被某个进程占用,跳出一个空白cmd说明被占用

telnet 127.0.0.1 6379

(2)重新打开一个cmd,查看端口6379被哪个进程id占用,查出pid是16400

netstat -ano | findstr 6379

(3)杀死这个16400进程

taskkill -PID 16400 -F

(4)依次转第(2)步、第(1)步指令查看端口6379是否还被占用,未被占用

方法二:

很简单,将下图中的port端口换个6381或其他的端口运行 最终,重新运行单测,成功!!!

经验分享 程序员 微信小程序 职场和发展