1、测试类独立运行时正常,拿到项目中报错,提示信息如下:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.collect.Tables.synchronizedTable
2、见到“ java.lang.NoSuchMethodError:”错误后,立马想到是maven引入的jar版本不一致有冲突。
3、查看maven的包依赖图,发现guava.jar在easypoi-base里引用的版本有冲突。
4、使用exclusion去除冲突版本,程序正常运行。
<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>4.4.0</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> </exclusions> </dependency>