问题描述:在本地环境可以正常跑的程序,在服务器上报错。报错信息显示
java.lang.NoSuchFieldError:
java.lang.NoClassDefFoundError:
问题分析:看到这样的错误,判断是包冲突了。即程序中使用了错误的jar包导致找不到合适的方法或域变量。
解决办法:利用ide的maven插件 ,查看依赖包的继承关系,如下图所示:
找到冲突的jar包,参考以下方式排除冲突。
- <dependency>
- <groupId>org.unitils</groupId>
- <artifactId>unitils-spring</artifactId>
- <version>${unitils.version}</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <artifactId>unitils-database</artifactId>
- <groupId>org.unitils</groupId>
- </exclusion>
- </exclusions>
- </dependency>