java - 神奇的NoClassDefFoundError异常
PHP中文网
PHP中文网 2017-04-18 10:06:23
0
1
307

今天学习使用beanutils写了一段代码
@Test

 public void test() throwsIllegalAccessException,InvocationTargetException   {
 Person one =new Person();
 one.setId("2");
 System.out.println(one);
 BeanUtils.setProperty(one, "id", "3");
 System.out.println(one);
}

遇到了下面的异常:
java.lang.NoClassDefFoundError:org/apache/commons/collections/FastHashMap
原因是缺少一个叫commons-collections的包;
后来我将这个包导进去还是报错,
后来才发现是版本不兼容的问题;
于是我就把这仨个包弄进去
commons-collections-3.2.2.jar
commons-beanutils-1.9.3.jar
commons-logging-1.2.jar
神奇的事情发生了 没有报错了;
于是我就认为是版本的问题;但是我错了
我把commons-collections-3.2.2.jar删了竟然没事,还是能正常运行,这是为什么;于是我更极端把commons-collections4-4.1.jar弄进去(前期弄这个就是会报错)竟然也没事;
这是为什么?
于是我决定重新写一次;
于是乎我重新写了一个测试类
@Test

 public void test() throws IllegalAccessException, InvocationTargetException {
 Person one =new Person();
 one.setId("2");
 System.out.println(one);
 BeanUtils.setProperty(one, "id", "3");
 System.out.println(one);
}

还是没有报错?这是为什么?
我猜测是IDE的缓存问题!
那么我决定重新打开一个IDE重新写一个,神奇的事又发生了
我只把commons-beanutils-1.9.3.jar commons-logging-1.2.jar两个包导进去还是没有报错
这是为什么?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(1)
小葫芦

嘿,你或許可以試試看gradle或者maven這樣的專案管理工具。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!