1、抛出问题信息
本地windows和测试服Linux环境下工程启动没问题,正式环境启动报错信息如下:
Caused by: : Could not initialize class
at .<init>(:140) ~[hibernate-validator-6.0.:6.0.]
at (:38) ~[hibernate-validator-6.0.:6.0.]
at (:364) ~[hibernate-validator-6.0.:6.0.]
注意环境区别:
本地和测试服命令行启动,正式环境是用docker
2、解决过程
1)期初怀疑是工程打包jar的问题,但是工程jar包在本地和测试服都可以正常启动,所以排除jar包问题;
2)怀疑是docker环境问题,为了确认是docker问题,
a)在正式环境下命令行启动,报一样的错误;
b)在正式环境的堡垒机上java -jar ,发现可以正常启动;
故不能确认docker环境是否正常,但可以确认正式环境肯定有问题,便开始怀疑是jdk问题;
3)头脑风暴~~最终与大神讨论后,问题点确认是jdk版本方向;
4)在比对各环境下jdk版本: 正式环境1.8.022,其他环境均高于此版本(正式环境是提供方默认安装版本),将正式环境jdk提升至1.8.161后,命令行可正常启动,到此确认是jdk版本低导致的。
从问题的发现到解决,各个可能会出现问题的点被一一排除。
到此借用宋代诗人陆游《游山西村》名句“山重水复疑无路,柳暗花明又一村”。