java.lang.ClassNotFoundException报错很常见,主要原因就是类找不到,但并不好定位。
本次故障原因是jetty-all从7.6.0升级到9.4.26后,类的位置发生了变化,在7.6版本中ProxyServlet类在包org.eclipse.jetty.servlets中,而到了9.4.26版本,ProxyServlet类挪到了org.eclipse.jetty.proxy里,这就导致原来的包路径下找不到此类,修改包路径后问题解决。
补充:修改包路径后报一个新的问题,proxyTo参数找不到,结果发现是参数名大小写发生了变化,7.6.0版本参数名为ProxyTo,而到9.4.26变成了proxyTo。。。
Prefix参数名也需要修改为prefix,原因同上。