今天跑公司的一个项目的单元测试(Junit controller mock),出现了一个异常 但是正常本地idea部署启动为什么没问题呢。(x1 正常启动代码没走; x2 单元测试依赖的maven等环境和正常不一致?)
- 验证下x1 正常启动时调用这个方法的。那只能是x2的情况了。
- 检查x2
Caused by: java.lang.NoClassDefFoundError: org/apache/tomcat/util/http/RequestUtil
一个类里面使用了:org.apache.tomcat.util.http.RequestUtil。 搜索了(根据类名搜索jar xxx)下貌似没找打具体那个jar里面有这个类。
Google了下:
apache-tomcat-7.0.57/RequestUtil.java at master · whg333 ...
https://github.com › main › java › org › apache › catalina › util
翻译此页
be removed in Tomcat 8.0.x. Use {@link. * org.apache.tomcat.util.http.RequestUtil#normalize(String)} as. * a replacement. */. @Deprecated. public static String ...
按字面翻译是这个类 在tomcat8.0 移除了。 提示2个jar tomcat-coyote.jar 及tomcat-util.jar.这2个是在tomcat lib目录下面的。但是下载了7 8 9 三个版本的tomcat, tomcat7 和tomcat8 都是有下面这个类的:

先跑service的单元测试了。该问题待定