在使用BeanUtils工具类时,项目导入jar包为commons-beanutils-1.9.4.jar和commons-logging-1.2.jar(依赖包)两个包,结果运行项目时,报错java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap
1.报错信息:
2.原因:缺少依赖jar包collections的jar包。
3.解决:
- 找到官网,查看描述
2.根据官方描述,如果使用的时1.7.x版本或者1.8.x版本的话,下载下来就是内含三个主要jar包的,所以,导入直接就可使用。但是,由于我所使用的时1.9.x(我用的1.9.4版本)的,所以,下载下来只有一个jar包,因此,时缺少所依赖的collections的jar包的,我们根据官方提供的连接进行下载。另外,一定要注意beanutils和依赖包collections的版本对应问题。我们可以查看官网:找到dependencies依赖一栏,可以看到beanutils所依赖的两个jar包及其所对应的版本,我们点击对应链接进行下载即可(BeanUtils 1.9.4下载collections包的3.2.2版本)。(一定要下载指定版本!!!!)
3.导入对应jar包后,重新启动tomcat服务器,发现项目没有异常了。
总结:
1.如果是1.7.x或者1.8.x版本,只需要下载解压后,导入文件夹中的
beanutils和collections的jar包以及另外下载的commons-logging的jar包即
可。
2.如果是1.9.x版本的,下载解压后只有一个beanutils的jar包,需要自己额
外下载commons-logging和collections两个依赖包的jar包,导入项目即
可。
3.一定要看好官网上对应jar包的版本!!!!